现象
新安装的iTerm2,然后自己~/.bash_profile都失效了!
排查,从环境变量加载顺序说起
- 系统启动第一步加载:/etc/profile
- 系统启动第二步加载:/etc/environment
- 用户登录,仅bash模式加载:~/.bash_profile;
问题就在这儿,zsh模式的shell根本不会加载~/.bash_profile文件中的环境变量! - 用户打开shell窗口时
bash模式加载:/etc/bashrc和~/.bashrc;
zsh模式加载:/etc/zshrc和~/.zshrc;
结论
从上面的第4步可以看出,zsh模式根本不加载~/.bash_profile中编写的环境变量!所以解决方式就很多了,把加载 ~/.bash_profile的命令写在zsh支持的文件(以上除了3都可以)中即可。
我是写在 ~/.zshrc中了,命令如下:
vim ~/.zshrc
加入下面这行
source $HOME/.bash_profile
重新打开shell窗口即可~
附:查看使用的那种模式
echo $SHELL