我试图建立一个项目,从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的概念,所以我可以在以后轻松设置所有内容,而不是盲目地遵循指示吗?
这绝对是技术问题。也许是专业人士的琐事。但对于像我这样的入门人士确实需要一些指南。我不明白为什么人们试图关闭这个问题。
答案 0 :(得分:35)
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,你应该可以做这样的事情,如果你在{{{{ 1}}目录是:
bin
除了实际的Bourne shell之外,还可以缩短为:
: $; PATH="$PATH:$PWD/bin"; export PATH
(我不打算为CSH兼容的shell解释(因为:我同意你don't use them的其他建议),但也可以在其中做类似的事情,如果碰巧是你的出于某种原因选择的环境。)
但是,据推测,您可能希望将其保存到特定于shell的配置文件(可能是: $; export PATH="$PATH:$PWD/bin"
,~/.profile
,~/.bashrc
...取决于您的shell),并且没有引用~/.zshrc
,而是引用它扩展到的任何内容。你可以做到这一点的一种方法是做这样的事情:
$PWD
然后将生成的行复制/粘贴到相应的配置文件中。
当然,您也可以通过其他方式生成相应的命令,尤其是当: $; echo "export PATH=\"\$PATH:$PWD/bin\""
目前不在$PWD
目录的位置时。
另见: