Mac上的.profile的导出路径



我不敢相信谷歌搜索后没有任何教程。有人可以向我指示或解释这些行和变量在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在哪里查找您在命令行上输入的命令,并以其应该查看的顺序。这是一条路径列表,由结肠界定。

$PATHPATH环境变量的当前值。

因此,类似

的线
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

注意:此答案适合新手开发人员。

最新更新