Как заставить экран GNU запускать .bash_profile в каждом новом окне?


18

Когда я открываю новое окно на экране GNU, оно запускается, .bashrcно нет .bash_profile. В моей настройке это приводит к тому, что некоторые переменные среды не были правильно установлены в этом окне.

Как я могу сказать, что GNU screen всегда запускается, .bash_profileа не при .bashrcоткрытии нового окна? (Пожалуйста, не говорите мне просто позвонить .bash_profileот моего .bashrc:)

Ответы:


33

Вы хотите запустить bash (или любую другую оболочку) в качестве оболочки для входа. Вы делаете это с

shell -$SHELL

в вашем ~/.screenrc. Магия -перед раковиной. Смотрите man screenrcподробности. (Ну, не так много подробностей, потому что это почти все.)


1
Когда я делаю это, он останавливает запуск экрана в каталоге, с которого я использую команду. Как заставить экран использовать каталог, из которого я запускаю команду, в качестве каталога, в котором она запускается?
theonlygusti

Я не понимаю эту справочную страницу! Онлайн-документы можно найти здесь: gnu.org/software/screen/manual/screen.html#Shell . Сначала я запутался, так как screenrc перечитывается только тогда, когда экран воссоздается - не каждый раз, когда вы создаете новое окно в приложении
JonnyRaa

@theonlygusti Для меня рабочий каталог сохраняется при настройке .screenrc, как было предложено.
Хольгер Брандл

2

Вы бы или должны источник ~/.bash_profileиз ~/.bashrcили положить вещи , которые нужны непосредственно в ~/.bashrcили положить вещи в общем в третьем файл и источнике его с обеих вашими ~/.bashrcи ~/.bash_profile.


ГДЕ эти источники? ... ПОТОМУ ЧТО ЭТО ПРОБЛЕМА (экран НЕ ИСПОЛЬЗУЕТ ни одного из них)
THESorcerer

@THESorcerer: В моей системе screenисточники ~/.bashrcбез shellкоманды показаны в другом ответе.
Приостановлено до дальнейшего уведомления.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.