Bash将获取.bashrc
等自动个人资料。 --rcfile
选项可用于覆盖自动脚本。但是,在启动bash shell 而不触及$HOME
或/etc
目录中的任何文件时,我需要获取其他个性化文件(即自动脚本和其他文件) / strong>由于$HOME
目录属于应用程序运行用户。个性化文件不得位于$HOME
目录中。
这可能吗?
我试过了:
/bin/bash <<EOF
. /a-directory-outside-of-home/vanilla
EOF
但它返回到当前的shell。
答案 0 :(得分:4)
好的,所以你想要运行用户的正常.bashrc
,然后是你自己的脚本,你想以bash
被调用的方式触发这种行为,对吗?
电话:
/bin/bash --rcfile myscript
myscript
的第一行:
source $HOME/.bashrc
答案 1 :(得分:0)
在/etc/profile.d
中将您的内容添加为* .sh文件 - 阅读/etc/profile
和
http://www.gnu.org/software/bash/manual/bashref.html#Bash-Startup-Files
答案 2 :(得分:0)
bash --rcfile <(cat rcfile1; cat rcfile2)
工作正常,无需在任何地方进行修改。
答案 3 :(得分:-1)
我不会修改.bashrc
文件。相反,我会修改.bash_profile
文件位于$HOME
。
这是包含.bashrc的地方。
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/bashrc
fi
一个不错的选择是添加.personalized_settings
文件并将其包含在内
就像这样的上面一行。
# Adding personalized settings
if [ -f ~/.personalized_settings ]; then
. ~/personalized_settings
fi
这要求.personalized_settings
文件位于$HOME
。
我在Fedora12中测试了上述内容。
修改:
您可能需要在Ubuntu中寻找.profile
而不是.bash_profile
(并希望其他基于Debian的系统)。 (@Benjamin W。提供)
此(链接)[https://www.gnu.org/software/bash/manual/bash.html#Bash-Startup-Files]会为您提供更多相关信息。
如果您乱搞任何个人资料文件怎么办?
您可以在/etc/skel
中获得所有这些文件的备份副本
用来恢复。