我已经阅读了几个关于如何在OSX上永久设置环境变量的答案。

首先,我尝试了这个,如何在Linux/Unix上永久设置$PATH,但我有一个错误消息说没有这样的文件和目录,所以我想我可以尝试~/。Bash_profile而不是~/。但它没有工作。

其次,我发现了这个解决方案如何设置的$PATH为使用的应用程序在os x,其中建议做改变

~/.MacOSX/environment.plist

但我没有这样的文件和目录错误。

我需要一种方法来设置这些变量,这样就不需要每次打开一个新的终端会话时都一次又一次地设置它们。


当前回答

你还可以加上这个

if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

~ /。Bash_profile然后创建~/。bashrc,你可以添加更多的路径到PATH。一个例子。

export PATH=$PATH:.

其他回答

你必须把它添加到/etc/paths.

参考资料(对我有用):这里

2021年10月19日。

用一个修正确认iplus26的答案。

测试环境

操作系统:macOS 11.6 (Big Sur) x86_64

外壳:zsh 5.8


下面是$PATH环境变量被修改的顺序:

etc/paths文本文件中的每一行都被追加 在etc/路径中的每个文本文件中的每一行。D目录被追加 最后,在~/.zshrc中进一步修改$PATH

iplus26的回答说“当(你运行)echo $PATH时,$PATH字符串将是PATH_SET_IN_3&4:PATH_SET_IN_1:PATH_SET_IN_2”,但这并不总是这样。这将取决于脚本在.zshrc中所做的事情。例:如果我们做某事

PATH="/new/path:${PATH}"

然后,新路径将位于路径列表的开头。然而,如果我们做一些

PATH="${PATH}:/new/path"

然后,新路径将被追加到路径列表的末尾。

当然,您必须确保在~/中导出修改后的路径。zshrc中。

export PATH=$PATH

您可以使用一个方便的命令来“漂亮地打印”路径列表

print -l $path

这将在新行中打印每个路径,以提高可读性。注意$path类似于$path,只是它由一个空格分隔,而不是冒号:。

希望这可以进一步澄清这个线程的新手。

你还可以加上这个

if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

~ /。Bash_profile然后创建~/。bashrc,你可以添加更多的路径到PATH。一个例子。

export PATH=$PATH:.

对于要添加到MacOS环境变量path中的新路径,只需在/etc/paths.下创建一个新文件D目录,并在文件中添加待设置的写路径。重启终端。您可以在提示符下使用echo $PATH检查是否将路径添加到环境变量中。

例如:在path变量中添加一个新的路径/usr/local/sbin:

cd /etc/paths.d
sudo vi newfile

将路径添加到newfile并保存。

重新启动终端并输入echo $PATH确认

显示所有隐藏文件,如.bash_profile和.zshrc $ ls -a

从macOS Catalina开始,mac使用zsh而不是bash。MAC默认使用zsh。 检查哪个shell正在运行:

$ echo $SHELL
/usr/zsh
$ cd $HOME
$ open -e .zshrc

或者如果使用vim

$ vi .zshrc

然后像这样加进去

$ export my_var="/path/where/it/exists"
$ export PATH=$PATH:/$my_var/bin

例如:如果在/Applications中安装了名为:myapp的应用程序 然后

export MYAPP_HOME=/Applications/myapp
export PATH=$PATH:$MYAPP_HOME/bin

或快捷方式

export PATH=${PATH}:/Applications/myapp/bin

祝你一生幸福!!稍后谢谢我