Mac下配置环境变量重启后不生效解决(.bash_profile vs .bashrc)(bash/zsh下不加载.bashrc问题解决)
2017-01-13 16:22
726 查看
参考上一篇文章说明:http://www.cnblogs.com/EasonJim/p/6283094.html
得知加载顺序如下:
/etc/profile
/etc/paths
~/.bash_profile
~/.bash_login
~/.profile
~/.bashrc
当然/etc/profile和/etc/paths是系统级别的,系统启动就会加载,后面几个是当前用户级的环境变量。后面3个按照从前往后的顺序读取,如果~/.bash_profile文件存在,则后面的几个文件就会被忽略不读了,如果~/.bash_profile文件不存在,才会以此类推读取后面的文件。~/.bashrc没有上述规则,它是bash shell打开的时候载入的。
也就是说在当前用户的目录下,如果又了.bash_profile文件就不会去加载.bashrc文件。
所以如果要能正常加载.bashrc文件,需要在.bash_profile文件的最末尾上加入如下语句:
参考:http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html
然而,这个修改只是正对base的,如果你没有修改过,上面的方法默认重启后就能生效。
但是,现在的mac上有些使用zsh这个作为默认的shell,所以,在启动shell时,默认不会按上面的套路去加载。
如果想要正常加载.bashrc文件时,就要找到用户目录下的.zlogin文件加入如下代码:
即可生效。
参考思路:
http://stackoverflow.com/questions/4493063/best-practice-for-bash-start-up-files-on-a-mac?answertab=active#tab-top
http://superuser.com/questions/866683/iterm-zsh-not-reading-bashrc-or-bash-profile
得知加载顺序如下:
/etc/profile
/etc/paths
~/.bash_profile
~/.bash_login
~/.profile
~/.bashrc
当然/etc/profile和/etc/paths是系统级别的,系统启动就会加载,后面几个是当前用户级的环境变量。后面3个按照从前往后的顺序读取,如果~/.bash_profile文件存在,则后面的几个文件就会被忽略不读了,如果~/.bash_profile文件不存在,才会以此类推读取后面的文件。~/.bashrc没有上述规则,它是bash shell打开的时候载入的。
也就是说在当前用户的目录下,如果又了.bash_profile文件就不会去加载.bashrc文件。
所以如果要能正常加载.bashrc文件,需要在.bash_profile文件的最末尾上加入如下语句:
if [ -f ~/.bashrc ]; then source ~/.bashrc fi
参考:http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html
然而,这个修改只是正对base的,如果你没有修改过,上面的方法默认重启后就能生效。
但是,现在的mac上有些使用zsh这个作为默认的shell,所以,在启动shell时,默认不会按上面的套路去加载。
如果想要正常加载.bashrc文件时,就要找到用户目录下的.zlogin文件加入如下代码:
if [ -f ~/.bashrc ]; then source ~/.bashrc fi
即可生效。
参考思路:
http://stackoverflow.com/questions/4493063/best-practice-for-bash-start-up-files-on-a-mac?answertab=active#tab-top
http://superuser.com/questions/866683/iterm-zsh-not-reading-bashrc-or-bash-profile
相关文章推荐
- Linux/Mac安装oh-my-zsh后不执行~/.bash_profile、~/.bashrc解决办法
- mac 安装omyzsh后不执行~/.bash_profile、~/.bashrc解决办法
- mac 安装omyzsh后不执行~/.bash_profile、~/.bashrc的完美解决办法
- mac安装zsh后,.bash_profile里的环境变量无效的解决方法
- Mac修改了Zsh之后频繁source ~/.bash_profile问题
- Mac OS X下修改.bash_profile之后source .bash_profile出现“command not found”问题解决
- mac 下更新 .bash_profile 文件及解决mac不能识别某款android手机问题
- .bash_profile和.bashrc的区别(如何设置生效)
- .bash_profile和.bashrc的区别(如何设置生效)
- .bash_profile 和 .bashrc 的区别(原文名:.bash_profile vs .bashrc)
- Mac OS X上的终端bash没有读取~/.bashrc的原因和解决办法
- .bash_profile和.bashrc的区别(如何设置生效)
- Linux——.bash_profile和.bashrc的区别(如何设置生效)
- 解决Mac OS X下bash: alias: ll: not found的问题
- .bash_profile和.bashrc的区别(如何设置生效)
- Vi编辑器修改文件.bash_profile可解决backspace出现乱码问题,rlwrap 的安装。
- .bash_profile和.bashrc的区别(如何设置生效)
- .bash_profile和.bashrc的区别(如何设置生效)
- Linux下文件 ~/.bashrc 和 ~/.bash_profile 和 /etc/bashrc 和 /etc/profile 的区别 | 用户登录后加载配置文件的顺序
- VS2010(64位) DLL 无法正常加载问题解决方案