Mac中.bashrc或.bash_profile不能自动生效

.bashrc 或者 .bash_profile 无法自动加载原因分析
更新于: 2022-07-05 13:21:16

问题描述

熟练使用Linux的人会知道,环境变量是在~/.bashrc~/.bash_profile中进行配置的;在Mac OS中,同样也可以在这两个文件中配置环境变量,但是每次打开命令行时都需要输入source ~/.bashrc或source ~/.bash_profile才能生效,无法自动生效。

解决方案

需要注意的一点是,与Linux系统不同的是,在Mac OS中环境变量的默认配置文件为~/.zshrc而不是~/.bashrc~/.bash_profile

  • 第一种解决方法就是我们可以将所有的环境变量配置到~/.zshrc文件中即可,每次打开命令行时都会自动生效;
  • 第二种解决方法是我们将环境变量仍然配置到~/.bashrc或~/.bash_profile中,但是我们在~/.zshrc文件的末尾追加一行source ~/.bashrc或source ~/.bash_profile即可实现每次打开命令行时,系统自动读取环境变量信息。

有关文件

按一定顺序加载,加载到合适的,即不继续加载。

https://scriptingosx.com/2017/04/about-bash_profile-and-bashrc-on-macos/

  • .profile
  • .bashrc
  • .bash_profile
  • .bash_login
/etc/profile
/etc/bashrc
/etc/bashrc_Apple_Terminal
if it exists: ~/.bash_profile
when ~/.bash_profile does not exists, ~/.bash_login
when neither ~/.bash_profile nor ~/.bash_login exist, ~/.profile
~/bash_profile can optionally source ~/.bashrc

参考