为每个终端加载.bash_profile

时间:2015-12-18 10:02:16

标签: bash macos unix

我在Max OS X上的 .bash_profile 中设置了一些别名。 它可以工作但是当我打开一个新标签时,我总是要用这个命令加载我的 .bash_profile 文件:

source ~/.bash_profile

即使我重新启动Mac或Linux计算机,如何才能使其正在打开的所有终端都能正常工作?

3 个答案:

答案 0 :(得分:4)

在开始时执行的文件可能是几个,通常是〜/ .bashrc,用于交互式非登录shell。我认为你正在使用的那种。

如果有,请在其中创建~/.bashrc文件并提供~/.bash_profile

if [ -f ~/.bash_profile ]; then
    . ~/.bash_profile
fi

关于此问题web site has a lot of information

研究this image,因为它是精简指南

如果您确实需要确切了解正在执行的文件,请查看this web page。它有很多具体的测试来找出什么文件正在设置什么。

特定于Mac-OS(这是一个例外并加载〜/ .bash_profile)按照网站linked in this answer推荐,确认你的bash按照那里的说法进行操作。

答案 1 :(得分:3)

如果使用我的zsh ,则可以在以下 .zshrc 文件的末尾添加 source〜/ .bash_profile 行。路径: /用户/您的用户名/.zshrc

答案 2 :(得分:0)

我知道这是一篇很老的文章,但是这个问题经常出现并且经常发生,并且提供了许多麻烦的解决方案。事实是:知道一个简单的信息将解决此问题非常快速和容易:

LINUX / Unix OS将在启动时按照以下规则加载配置文件(某些发行版可能具有其他文件名,主要用于用户本地配置文件,但主要规则遵循此规则):

  1. 登录外壳

首先,/etc/profile已加载(全局设置); 下一页:˜/.bash_profile(本地用户设置-可能会找到其他文件,例如˜/.profile,具体取决于发行版。请查看文档)。

因此,如果您在Login Shell环境中,请将所有疯狂的内容放入˜/.bash_profile(或发行版提供的文件)中,一切都会好起来的。

  1. 非登录Shell

首要的是:/etc/bashrc(某些发行版将加载bash.bashrc); 下一个要查找和加载的文件是˜/.bashrc

这就是为什么如此多的人(就像我一样)感到沮丧的是,每次加载终端时都必须提供˜/.bash_profile。我们只是在“错误的”文件中插入有关加载的外壳类型的信息(请参见上文:登录,非登录)。

有关上述文件变体的更多详细信息以及有关登录vs非登录Shell的一些信息,可以找到here

希望它对\ o /

有帮助