我正在尝试建立一个项目,从git Storm :
https://github.com/nathanmarz/storm/wiki/Setting-up-development-environment



我的问题是:PATH是什么意思?他们到底要我做什么?

有时我看到一些/bin/path,$ PATH或echo PATH。

有人可以解释PATH的概念吗,这样我以后就可以轻松地设置所有内容,而不必盲目地按照说明进行操作?

最佳答案

PATH是UNIX(和类似UNIX的系统,例如GNU/Linux)系统中的特殊环境变量,shell经常使用和操纵它(尽管其他东西也可以使用它)。

on wikipedia有点简洁,但是基本上它是用来定义在哪里搜索可执行文件(无论是二进制文件,shell脚本还是其他)。

您可以使用一个简单的shell命令找出当前PATH设置为什么:

: $; echo $PATH

(注意:: $;是用来表示您的shell提示符的;它可能对您而言非常不同;只要知道您的提示符是什么,这就是我用该字符串表示的含义。)

取决于您的系统和先前的配置,该值将有所不同,但是输出的一个非常简单的示例可能类似于:
/usr/bin:/bin:/usr/local/bin

这是一个用冒号(:)分隔的目录列表,可在其中搜索可执行文件(诸如ls等),简而言之,当您尝试从Shell(或某些特定程序中)执行命令时方式),它将按顺序搜索此列表中的每个目录,以查找您提供的名称的可执行文件,然后运行找到的第一个文件。这就是概念,根据您的问题。

从那里开始,本文档告诉您要做的就是将解压缩软件的目录(尤其是其bin子目录)添加到$PATH变量中。如何执行此操作取决于您使用的是哪个shell,但是对于大多数(兼容Bourne的)shell,如果您位于bin目录所在的目录中,则应该能够执行以下操作:
: $; PATH="$PATH:$PWD/bin"; export PATH

除了实际的Bourne shell 外,几乎可以将其缩短为:
: $; export PATH="$PATH:$PWD/bin"

(我不会费心解释CSH兼容的 shell 程序(因为:我同意您使用don't use them的其他建议),但是如果由于某种原因碰巧是您选择的环境,也可以在其中进行类似的操作。 )

但是,大概想将其保存到特定于 shell 的配置文件中(可以是~/.profile~/.bashrc~/.zshrc ...,具体取决于您的 shell ),而无需引用$PWD,而是扩展到的内容。您可能会完成此操作的一种方法是执行以下操作:
: $; echo "export PATH=\"\$PATH:$PWD/bin\""

然后将结果行复制/粘贴到适当的配置文件中。

当然,您还可以通过其他方式生成适当的命令,尤其是如果您的$PWD当前不在该bin目录所在的位置。

也可以看看:
  • An article about $PATH (及更多)
  • a related question on superuser.com
  • 关于linux - 在Mac(UNIX)系统上,PATH是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18409707/

    10-10 17:42
    查看更多