为什么在 mac 上打开新终端后我的 $PATH 环境总是重置?
Why do my $PATH environment always reset after I open a new terminal on my mac?
通常我会nano .zsh_profile
然后我会编辑路径
#PYTHON
export PATH=/Users/ffff/Library/Python/3.8/bin:$PATH
# JAVA
export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/bin:$PATH
#ANDROID
export ANDROID_HOME=/Users/ffff/Library/Android/sdk
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/tools/bin:$PATH
那我就保存退出
那我就
source .zsh_profile
我会测试 Java 和 ADB 一切都很好,但是我从我的 mac 打开一个新终端,它会说 ADB 和 JAVA 和 Android_HOME 没有找到
为什么不坚持?我错过了什么吗?我的 mac 版本是 12.2.1
.zsh_profile
文件,没有特殊意义。这可能是一种混淆形式 Bash
,其中 bash_profile
是为登录 shell 执行的。在 Zsh
中,等价物是 ~/.zprofile
。您的 .zshrc
文件中可能有一些代码,用其他内容覆盖了 PATH
变量。因为,与 .zprofile
不同,.zshrc
文件会在 每个 交互 non-login shell 秒后执行。
所以我的建议是,查看 .zshrc
并查看是否有覆盖 PATH
的内容,如果有,也许您想更改它,并且 NOT 每次 执行要为 添加的这些命令,每次 shell 打开时,您应该将它们放在 .zprofile
, 所以它们只在登录时执行一次。
通常我会nano .zsh_profile
然后我会编辑路径
#PYTHON
export PATH=/Users/ffff/Library/Python/3.8/bin:$PATH
# JAVA
export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/bin:$PATH
#ANDROID
export ANDROID_HOME=/Users/ffff/Library/Android/sdk
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/tools/bin:$PATH
那我就保存退出 那我就
source .zsh_profile
我会测试 Java 和 ADB 一切都很好,但是我从我的 mac 打开一个新终端,它会说 ADB 和 JAVA 和 Android_HOME 没有找到
为什么不坚持?我错过了什么吗?我的 mac 版本是 12.2.1
.zsh_profile
文件,没有特殊意义。这可能是一种混淆形式 Bash
,其中 bash_profile
是为登录 shell 执行的。在 Zsh
中,等价物是 ~/.zprofile
。您的 .zshrc
文件中可能有一些代码,用其他内容覆盖了 PATH
变量。因为,与 .zprofile
不同,.zshrc
文件会在 每个 交互 non-login shell 秒后执行。
所以我的建议是,查看 .zshrc
并查看是否有覆盖 PATH
的内容,如果有,也许您想更改它,并且 NOT 每次 执行要为 添加的这些命令,每次 shell 打开时,您应该将它们放在 .zprofile
, 所以它们只在登录时执行一次。