如何在启动bash时获取其他文件

时间:2015-11-27 16:12:12

标签: bash

Bash将获取.bashrc等自动个人资料。 --rcfile选项可用于覆盖自动脚本。但是,在启动bash shell 而不触及$HOME/etc目录中的任何文件时,我需要获取其他个性化文件(即自动脚本和其他文件) / strong>由于$HOME目录属于应用程序运行用户。个性化文件不得位于$HOME目录中。 这可能吗?

我试过了:

    /bin/bash <<EOF
    . /a-directory-outside-of-home/vanilla
    EOF

但它返回到当前的shell。

4 个答案:

答案 0 :(得分:4)

好的,所以你想要运行用户的正常.bashrc,然后是你自己的脚本,你想以bash被调用的方式触发这种行为,对吗?

电话:

/bin/bash --rcfile myscript

myscript的第一行:

source $HOME/.bashrc

答案 1 :(得分:0)

/etc/profile.d中将您的内容添加为* .sh文件 - 阅读/etc/profilehttp://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中获得所有这些文件的备份副本 用来恢复。