Несколько файлов инициализации для нового сеанса Bash - PullRequest
2 голосов
/ 23 ноября 2010

Я пишу скрипт, который будет выполнять новую сессию Bash. Основываясь на некоторой логике, он находит сценарий инициализации, который будет использоваться для новой оболочки. Мне интересно, есть ли хороший способ сообщить новому сеансу bash использовать найденный скрипт инициализации для инициализации в дополнение к сценариям инициализации системы. Опция --init-file, кажется, требует замены файла, а не дополнительного.

В настоящее время у меня есть грязная установка с переменной окружения, содержащей путь к найденному скрипту инициализации, который поставляется в файле инициализации оболочки вместе с системными файлами. Возможно ли что-то вроде
exec bash --init-file "/etc/profile;~/.bashrc;${myInit}"?

Спасибо, Andrew

Ответы [ 2 ]

4 голосов
/ 23 ноября 2010

Это хороший шанс для работы:

exec bash --init-file <(cat /etc/profile ~/.bashrc "${myInit}")
0 голосов
/ 23 ноября 2010

Я не могу проверить это на своем компьютере, но, возможно, вы могли бы передать пользовательский файл .bashrc или .bash_profile в свою оболочку, снабдив файл 'init' чем-то вроде

if [ -f path_to_init ]; then
  . path_to_init_file
fi
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...