我正在写一个脚本,它将执行一个新的bash会话。根据一些逻辑,它找到一个将用于新shell的init脚本。我想知道是否有一种很好的方法来告诉新的bash会话使用找到的初始化脚本进行初始化以及系统初始化脚本。 --init-file选项似乎要求替换文件而不是另外一个。
目前,我有一个凌乱的设置,其中包含一个环境变量,其中包含找到的init脚本的路径,该脚本来自包装器init文件以及系统文件。有可能是exec bash --init-file "/etc/profile;~/.bashrc;${myInit}"
吗?
谢谢, 安德鲁
答案 0 :(得分:4)
这是一个很好的工作机会:
exec bash --init-file <(cat /etc/profile ~/.bashrc "${myInit}")
答案 1 :(得分:0)
我无法在我的机器上测试这个,但也许您可以将自定义的.bashrc或.bash_profile传递给子shell,使用类似
的内容来获取'init'文件if [ -f path_to_init ]; then
. path_to_init_file
fi