tip*_*cky 17 macos terminal profile .profile
我不敢相信谷歌搜索后没有任何关于此的教程.有人可以指出我的方向或解释这些行和变量在mac上的.profile中的含义吗?有人如何配置它们?
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
Run Code Online (Sandbox Code Playgroud)
Gar*_*het 44
任何开头的行#
都是注释.PATH=
设置PATH
变量的值,$ PATH扩展为当前值,并且export
开头使值可用于从终端运行的程序.
我们假设PATH的初始值是/usr/bin:/bin
.
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
Run Code Online (Sandbox Code Playgroud)
替换$PATH
为$ PATH的先前值.所以上面的设置PATH
来
/opt/local/bin:/opt/local/sbin:/usr/bin:/bin
Run Code Online (Sandbox Code Playgroud)
向前进,
export PATH=$PATH:/usr/local/mysql/bin
Run Code Online (Sandbox Code Playgroud)
再次,将$ PATH替换为之前的值:
/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/local/mysql/bin
Run Code Online (Sandbox Code Playgroud)
后
export PATH=/android-sdks/platform-tools:~/android-sdks/tools:$PATH
Run Code Online (Sandbox Code Playgroud)
我们有
/android-sdks/platform-tools:~/android-sdks/tools:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/local/mysql/bin
Run Code Online (Sandbox Code Playgroud)
(这~
是一个特殊的令牌,将被替换为主目录的路径,但你应该得到图片.)
最后,之后
export PATH=/Users/android-sdks/platform-tools:/Users/android-sdks/tools:$PATH
Run Code Online (Sandbox Code Playgroud)
我们得到
/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
Run Code Online (Sandbox Code Playgroud)
PATH
用于查找在命令行中输入的命令.因此,如果您键入foo
,shell将按指定的顺序查找下面的名称:
/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
Run Code Online (Sandbox Code Playgroud)
要查看PATH的当前值,请运行
echo $PATH
Run Code Online (Sandbox Code Playgroud)
您应该在开头PATH
或结尾添加新目录吗?它并不总是重要的,但有时它确实如此.这取决于您希望系统首先检查的位置.
如果目标是在查找默认目录之前搜索其他目录,则应添加到开头.例如,git
是用于管理源代码的实用程序.如果我想git
在〜/ git中安装更新版本并默认使用它,我会这样做:
export PATH=~/git/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
这意味着〜/ git/bin/git会覆盖/ opt/local/bin/git.
另一方面,我可能更喜欢让管理员在git
系统范围内安装.如果我想用我的本地副本只,直到管理员使其可用于每个人,那么这更有意义:
export PATH=$PATH:~/git/bin
Run Code Online (Sandbox Code Playgroud)
在这种情况下,~/git/bin/git
将只如果使用的话/opt/local/bin/git
根本不存在,因为/opt/local/bin
早在路径.
很多命令不会存在于多个地方.例如,您可以编写my-backup-script
并将其放在Apple Time Capsule上/Volumes/Capsule/scripts
.不可能my-backup-script
在任何其他位置调用命令冲突.因此,以下任一命令都可以让您键入my-backup-script
并运行正确的脚本:
export PATH=/Volumes/Capsule/scripts:$PATH
Run Code Online (Sandbox Code Playgroud)
要么
export PATH=$PATH:/Volumes/Capsule/scripts
Run Code Online (Sandbox Code Playgroud)
一个更好吗?我的建议是做后者.请记住,系统将需要$PATH
按顺序搜索它需要查找的每个命令的目录.大多数命令都在本地系统上,因此最有意义的是将较慢的网络存储放在路径的末尾.
从man
页面中,export
只需设置一个环境变量.
在PATH
环境变量告诉你的Mac到哪里寻找你的命令行上键入的顺序,它应该是命令.它是一个由冒号分隔的路径列表.
该值$PATH
是PATH
环境变量的当前值.
因此,一条线就像
export PATH=/foo:$PATH
Run Code Online (Sandbox Code Playgroud)
在/foo
此之前PATH
和
export PATH=$PATH:/foo
Run Code Online (Sandbox Code Playgroud)
追加/foo
到PATH
跑步man
然后回答问题export
您可以查看当前PATH
值并观察到存在多个路径。
(我的是/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
)
观察它:
代表单个路径的结束。
您可以使用以下方法检索此内容$PATH
现在,当您想向此列表中再添加一个路径时,您需要将当前路径附加到新路径,例如/newPath:$PATH
或$PATH:/newPath
。
最后,为了保存它,您需要使用export PATH=$PATH:/newPath
.
注意:这个答案是针对新手开发人员的。
归档时间: |
|
查看次数: |
65155 次 |
最近记录: |