OS X中的完整路径

时间:2010-01-19 01:22:01

标签: macos path terminal

在开始我的第一个真正的编程项目之前,我是几步,我正在准备我的机器。我注意到我的完整路径(当我在终端中“回显$ PATH”时得到的内容)看起来不像“正常”(因为我看到“usr / bin”很多次)。这是什么意思?它如何影响我对终端的使用?以及如何将其更改为默认值?

编辑:我可以通过输入“PATH = the_name_of_the_path”来更改它,但它不是永久性的,如果我退出正在运行的会话并再次启动终端,我得到的是“/ Applications / lejos_nxj / bin:/ usr / bin:/ bin:/ usr / sbin:/ sbin:/ usr / local / bin:/ usr / X11 / bin“(那是因为我几个月前改了它所以我可以使用lejos_nxj,在大学的课程)。我是否更好地将其改回“正常”或者我是否应该不再担心它?如果必须的话,我怎么能改变呢?

6 个答案:

答案 0 :(得分:1)

$ PATH是一个变量,指定可执行程序所在的一组目录。在那里看到/ usr / bin是正常的。

基本上,如果你在终端上输入一个命令,例如cat,它会在那些目录中查找cat。这样,您就不必指定所有常用命令的完整路径。

答案 1 :(得分:1)

以下是新OS X 10.6安装中“正常”路径的示例:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin

答案 2 :(得分:0)

所有* nixes下的$ PATH实际上是冒号分隔目录的列表。除非您多次看到/ usr / bin条目,否则没有错(即使您多次看到它,也不意味着它已被破坏)。

无论如何,你应该发布你得到的东西。

答案 3 :(得分:0)

我的路径如下:

frak:~ seth$ echo $PATH
/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin

你的看起来应该是一样的。每个目录用':'分隔。但是,即使您不止一次/usr/bin,它也不会有任何区别。

观察:

frak:~ seth$ whereis units
/usr/bin/units
frak:~ seth$ units attoparsecs/s m/s
    * 0.030856776
    / 32.407793

再次添加/ usr / bin:

frak:~ seth$ PATH=$PATH:/usr/bin
frak:~ seth$ echo $PATH
/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin

一切仍然正常:

frak:~ seth$ whereis units
/usr/bin/units
frak:~ seth$ units attoparsecs/s m/s
    * 0.030856776
    / 32.407793

答案 4 :(得分:0)

PATH是一个shell变量,指定查找可执行文件的位置。例如,如果执行ftp(文件传输),shell将在执行它之前在PATH变量的那些目录中查找命令ftp。这没什么不对。如果你的PATH中没有指定/ usr / bin,那么每次你需要使用ftp时,你需要提供完整的路径名,例如/ usr / bin / ftp

请注意,对于普通用户,/ usr / sbin不应该在PATH中,因为/ usr / sbin中的那些主要是管理命令。

答案 5 :(得分:0)

如果您看到相同的条目一次又一次地重复,那么您可能与.bashrc和.bash_profile混合。您应该在.bash_profile中设置PATH,而不是.bashrc,以避免这种情况。