我不敢相信谷歌搜索后没有任何教程。有人可以向我指示或解释这些行和变量在MAC上的含义是什么?有人如何配置它们?
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
# Finished adapting your PATH environment variable for use with MacPorts.
#export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"
export PATH=$PATH:/usr/local/mysql/bin
#export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"
#export PATH=/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php5/bin:/Applications/MAMP/htdocs/cake/cake/console:/opt/local/bin:/opt/local/sbin:$PATH
export PATH=/android-sdks/platform-tools:~/android-sdks/tools:$PATH
export PATH=/Users/android-sdks/platform-tools:/Users/android-sdks/tools:$PATH
以#
开头的任何行都是评论。PATH=
设置PATH
变量的值,$路径扩展为当前值,而开始时export
使您可以从终端运行的程序可用。
让我们假设路径的初始值为 /usr/bin:/bin
。
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
将$PATH
替换为$路径的先前值。因此,以上将PATH
设置为
/opt/local/bin:/opt/local/sbin:/usr/bin:/bin
前进,
export PATH=$PATH:/usr/local/mysql/bin
再次将$路径替换为先前的值:
/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/local/mysql/bin
之后 export PATH=/android-sdks/platform-tools:~/android-sdks/tools:$PATH
我们有
/android-sdks/platform-tools:~/android-sdks/tools:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/local/mysql/bin
(~
是一个特殊的令牌,将用通往主目录的路径替换,但您应该得到图片。)
最后,之后
export PATH=/Users/android-sdks/platform-tools:/Users/android-sdks/tools:$PATH
我们得到
/Users/android-sdks/platform-tools:/Users/android-sdks/tools:/android-sdks/platform-tools:~/android-sdks/tools:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/local/mysql/bin
PATH
用于查找您在命令行中输入的命令。因此,如果您键入foo
,则外壳将在指定的顺序中查找下面的名称:
/Users/android-sdks/platform-tools/foo
/Users/android-sdks/tools/foo
/android-sdks/platform-tools/foo
~/android-sdks/tools/foo
/opt/local/bin/foo
/opt/local/sbin/foo
/usr/bin/foo
/bin/foo
/usr/local/mysql/bin/foo
要查看路径的当前值,请运行
echo $PATH
您应该在PATH
的开头还是添加新目录?这并不总是重要的,但有时确实很重要。这取决于您要首先检查系统的位置。
如果目标是在查看默认的目录之前搜索其他目录,则应添加到开始。例如,git
是用于管理源代码的实用程序。如果我想在〜/git中安装git
的较新版本并默认使用,我会做:
export PATH=~/git/bin:$PATH
这意味着〜/git/bin/git将覆盖/opt/local/bin/git。
另一方面,我可能更希望管理员安装git
系统范围内。如果我想使用我的本地副本,直到管理员为每个人提供可用性,那么这是更有意义的:
export PATH=$PATH:~/git/bin
在这种情况下,~/git/bin/git
仅在/opt/local/bin/git
尚未存在的情况下才会使用,因为/opt/local/bin
在路径中较早。
在一个以上的地方不存在很多命令。例如,您可以编写my-backup-script
并将其放在/Volumes/Capsule/scripts
的Apple时间胶囊上。在任何其他位置发生冲突的位置,不可能有一个名为my-backup-script
的命令。因此,以下任何一个命令都可以让您键入my-backup-script
并运行正确的脚本:
export PATH=/Volumes/Capsule/scripts:$PATH
或
export PATH=$PATH:/Volumes/Capsule/scripts
更好吗?我的建议是做后者。请记住,系统需要按顺序搜索$PATH
中的目录,以找到所需的每个命令。大多数命令将在本地系统上,因此将较慢的网络存储放在路径末端是最有意义的。
从man
页面,export
简单设置一个环境变量。
PATH
环境变量告诉您的Mac在哪里查找您在命令行上输入的命令,并以其应该查看的顺序。这是一条路径列表,由结肠界定。
值$PATH
是PATH
环境变量的当前值。
因此,类似
的线export PATH=/foo:$PATH
将/foo
预先到PATH
和
export PATH=$PATH:/foo
将/foo
附加到PATH
运行man
,然后回答为export
您可以看到当前的PATH
值,并观察到存在多个路径。
(我的是/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
)
观察:
代表单个路径的末端。
您可以使用$PATH
现在,当您要在此列表中添加更多路径时,您需要将当前路径附加到新路径,例如/newPath:$PATH
或$PATH:/newPath
。
最终要保存它,您需要使用export PATH=$PATH:/newPath
。
注意:此答案适合新手开发人员。