无法在 ~/.bashrc 中获取添加路径

无法在 ~/.bashrc 中获取添加路径

我想设置 $PATH 的指定路径,

我把它写到顶部.bashrc

$ cat ~/.bashrc
export PATH=/usr/local/opt/coreutils/libexec/gnubin:$PATH

并激活它

$ source ~/.bashrc

有用

/usr/local/opt/coreutils/libexec/gnubin:/Users/me/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/me/.rvm/bin:/usr/local/mysql/bin:/Users/me/.rvm/bin:/Users/me/.rvm/bin:/Users/me/.rvm/bin

尽管如此,当我打开一个新终端时,它就消失了。

$ echo $PATH
/Users/me/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/me/.rvm/bin:/usr/local/mysql/bin

作为测试,我关闭了所有终端并重新启动

$ echo $PATH
/Users/me/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/me/.rvm/bin:/usr/local/mysql/bin

路径/usr/local/opt/coreutils/libexec/gnubin不在那里。

我检查了我的操作:

1. put desired path to the top
2. export it 
3. source to activate it.

我的操作出了什么问题?

答案1

macOS(我相信您正在使用)上的终端应用程序(以及 iTerm)启动了一个登录默认为外壳。当bash作为登录 shell 启动时,它会读取您的~/.bash_profile文件,但不会读取~/.bashrc.

您可以在终端的首选项中更改终端启动 shell 的方式,也可以通过添加以下内容(可能在文件末尾)将~/.bash_profile源文件设为文件:~/.bashrc~/.bash_profile

if [[ "$-" == *i* ]] && [ -f ~/.bashrc ]; then
    source ~/.bashrc
fi

~/.bashrc如果该文件是交互式 shell 并且存在的话,这将使登录 shell 也读取该文件~/.bashrc

作为替代方案,您显然可以直接将修改添加到PATHin 中~/.bash_profile。我相信 macOS 不会~/.bashrc在用户的主目录中安装默认文件。

有关的:

相关内容