目录
Mac环境变量的设置
开发中对环境变量的修改和增加比较普遍,此处做为记录也供大家参考。
一般mac电脑配置环境变量的方法(本文主要说明macOS Catalina的配置问题)
sudo vi ~/.bash_profile
按回车输入密码后用vi打开用户目录下的.bash_profile。
添加需要的变量(这里配置android tools的环境变量):
export Android_sdk=/Users/eagle/Library/Android/sdk;
export PATH=${PATH}:${Android_sdk}/platform-tools
这里说明一下,环境变量的规则是以英文冒号”:”分隔。按 esc 后 :wq退出编辑,使之立刻生效需要 执行
source ~/.bash_profile
开始输入我们期望的命令 adb shell,正常。
但是,另外一个终端始终无效,或关闭该终端再打开也无效
zsh:command not found:adb
每次都要执行source ~/.bash_profile才有效
如果您的系统也是
macOS Catalina
,可以继续往下看。
重开终端,再次查看.bash_profile,内容是正确的,再次执行source ~/.bash_profile 之后 adb shell又正常了,这样也太麻烦了,这个问题需要解决:
解决方法(任选一种即可)
一. 环境变量添加到.zshrc
- 打开或创建.zshrc
sudo vi ~/.zshrc
- 输入和.bash_profile相同的内容
export Android_sdk=/Users/eagle/Library/Android/sdk;
export PATH=${PATH}:${Android_sdk}/platform-tools
- 保存退出,执行下面命令立即生效
source ~/.bash_profile
接着执行我们的命令,好的,大功告成。
二 .zshrc中 添加source ~/.bash_profile
- 打开或创建.zshrc
sudo vi ~/.zshrc
-
添加内容
source ~/.bash_profile
到.zshrc 中 -
保存退出,执行下面命令立即生效
source ~/.zshrc
三 切换mac的shell
设置了
.bash_profile
的情况下,把shell从zsh 切换为bash,这样不用每次都source .bash_profile。
chsh -s /bin/bash
要切回zsh的话执行:
chsh -s /bin/zsh
是什么原因
来自Apple官网的说明:
点这里查看更多
从 macOS Catalina 版开始,您的 Mac 将使用 zsh 作为默认登录 Shell 和交互式 Shell。您还可以在较低版本的 macOS 中将 zsh 设置为默认 Shell。
默认情况下,您的 Mac 使用 zsh 或 bash 作为登录 Shell 和交互式 Shell 的命令行解释器:
从 macOS Catalina 版开始,zsh (Z shell) 是所有新建用户帐户的默认 Shell。
bash 是 macOS Mojave 及更低版本中的默认 Shell。
zsh 与 Bourne Shell (sh) 高度兼容,并且与 bash 基本兼容,但存在一些差别。要进一步了解 zsh 及其全面的命令行完成系统,请在“终端”中输入 man zsh。
也就是说zsh的命令行读取的path不是从.bash_profile里面读取的,而是从.zshrc配置文件里面读取。所以上面几种办法都是基于这个原因。
关于mac环境变量加载顺序,可参考
这里
。