MacOS 下一般配置有多个 Shell,如 Bash、ZSH 等,差别的 Shell 其创建 Terminal 时利用的环境变量配置文件也不尽相同,但一般都会读取并执行脚本文件 /etc/profile 来加载体系级环境变量,而用户级别环境变量,一般都会在各自 Shell 的 Home 路径下配置,即 Bash 的 ~/.bash_profile,ZSh 的 ~/.zprofile,以及 SH 的 ~/.profile 等。
配置体系环境变量
为了只管同一控制体系级别环境变量,同时支持可插拔,因此本文参考了 Ubuntu 的 Bash Shell 加载方式,通过修改 /etc/profile 脚原来实现。
在 /etc/profile 脚本中增加下列内容(假如没有写入权限,建议先用 sudo 来进行 chmod +w,之后再执行 chmod -w 还原权限):
- if [ -d /etc/profile.d ]; then
- for i in /etc/profile.d/*.sh; do
- if [ -r $i ]; then
- . $i
- fi
- done
- unset i
- fi
复制代码 然后创建 /etc/profile.d 文件夹,并在其中增加须要加载环境变量的 sh 脚本,如:
- # /etc/profile.d/
- $ tree /etc/profile.d/
- /etc/profile.d/
- └── env.sh
- # env.sh
- eval "$(/opt/homebrew/bin/brew shellenv)"
复制代码 修改用户环境变量
用户级别环境变量,一般都会在各自 Shell 的 Home 路径下配置,即 Bash 的 ~/.bash_profile,ZSh 的 ~/.zprofile,以及 SH 的 ~/.profile 等。
因为差别 Shell 的用户路径和环境变量配置脚本差别,因此大概无法实现同一配置,现在照旧须要在各自的脚本文件中分别多次配置。
当然,也可以将相同的配置抽离成一个公共的脚本文件,每次在配置时,都执行其脚本即可。
验证结果
关闭所有 Terminal 后重启 Shell,然后验证环境变量是否配置成功。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |