Как заставить экран Gnu загрузить мой bash .profile

18

У меня есть ~ / .bash_profile, который я хотел бы вызывать каждый раз, когда создается новый экран GNU, так что все мои псевдонимы работают на экране GNU, как они работают в терминале.

В этот раз так выглядит мой ~ / .screenrc.

hardstatus on
hardstatus alwayslastline
hardstatus string "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %m/%d %C%a "
Надаль
источник
1
Я решил эту проблему, переместив все содержимое ~ / .bash_profile в ~ / .bashrc. Видимо screen вызывает ~ / .bashrc перед каждым окном.
Надаль

Ответы:

30

shell -$SHELL

Добавьте вышеприведенную строку к вашему ~/.screenrc, это запустит экран, используя оболочку входа, которая загрузит ваш ~/.bash_profile.

Rodrigue
источник
Это останавливает запуск экрана в текущем каталоге. Как мне сделать запуск экрана в текущем каталоге?
theonlygusti
2

Некоторые приложения Mac используют .bash_profile, а некоторые - .bashrc. Я не выяснил какого-либо конкретного правила для того, чтобы знать, какое из них загружается, но для согласованности это мой .bash_profile:

if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
Munkymorgy
источник
0

Проблема немного расплывчата; Файлы запуска оболочки запускаются экраном при создании окон, поэтому у вас нет ощущения, будто что-то неправильно настроено в вашем .bashrc или .bash_profile. Я не сталкивался с этим с помощью экрана на OS X.

Вы пробовали iTerm вместо экрана? Я использую его исключительно на своем Mac, а затем использую экран на серверах, которые я администрирую.

ALG
источник
0

Я решил эту проблему, переместив все содержимое ~ / .bash_profile в ~ / .bashrc. Видимо screen вызывает ~ / .bashrc перед каждым окном. - Надаль 6 мая 2010 года в 21:22

Этот комментарий является правильным ответом.

Odalrick
источник
0

Я добавил .bashrc файл, который просто содержит:

[[ -s ~/.bash_profile ]] && source ~/.bash_profile

Таким образом, любая программа, такая как экран GNU, которая ищет .bashrc, найдет его и отправит мой .bash_profile.

Эд Лиф
источник