即时通讯试图build立一个项目,从Git风暴https://github.com/nathanmarz/storm/wiki/Setting-up-development-environment
Download a Storm release , unpack it, and put the unpacked bin/ directory on your PATH
我的问题是PATH是什么意思,他们要我做什么?
有时我会看到一些/ bin / path,$ PATH,echo PATH
有人可以解释一下PATH的概念吗,所以我可以在以后轻松地安装所有的东西,而不必盲目地按照指示操作。
这绝对是一个技术性的问题。 也许trival专业人士。 但对于像我这样的人来说,真的需要一些指导。 我不明白为什么人们试图closures这个问题。
PATH是UNIX(和UNIX-like,例如GNU / Linux)系统中的一个特殊的环境变量,经常由shell使用和操作(尽管其他的东西也可以使用它)。
维基百科有一个简单的解释,但基本上它是用来定义在哪里搜索可执行文件(无论是二进制文件,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(因为:我同意其他的建议,你不使用它们 ),但是也可以在其中做类似的事情,如果这恰好是你选择的环境因为某些原因。)
大概,你会想把这个保存到一个特定于shell的配置文件(可能是~/.profile
, ~/.bashrc
, ~/.zshrc
…取决于你的shell),而不需要引用$PWD
而是扩展到任何东西。 你可能做到这一点的一种方法是做这样的事情:
: $; echo "export PATH=\"\$PATH:$PWD/bin\""
然后将结果行复制/粘贴到适当的配置文件中。
当然,你也可以用其他方式生成相应的命令,尤其是当你的$PWD
目前不在那个bin
目录下。
也可以看看:
$PATH
的文章 (还有更多)