hg:命令未find

我敢肯定,你们对“XX:命令未find”的问题感到厌倦,所以我很抱歉给堆栈增加了另一个,但是在这里。

我试图创build一个mercurial和python的编译安装的tarball,我可以发送给我公司的各个团队,然后将他们提取到他们孤立的Unix服务器(所有运行相同的操作系统相同版本),并运行即使他们的本地python版本太旧,也是如此。

到目前为止,这确实很好,但有些机器给我带来麻烦。 当tar球被提取时,用户将有一个新的bin文件夹,其中包含hg和python可执行文件。 将PATH设置为该bin文件夹后,python可执行文件正常工作,但是hg可执行文件产生“hg:Command not found”命令。 错误。

这可能是一个坏的道路?

如果你打电话,它会给出错误

> hg 

尽pipe如此

 > which hg 

产生hg可执行文件的正确path

另外,如果您导航到该文件夹​​并打电话

 > ./hg 

你仍然会得到“hg:Command not found”。

让它工作的唯一方法就是打电话

 > ./python hg 

哪些工作正常,并显示汞的帮助信息。

这可能是一个权限问题?

我做了提取,所有的文件都归我所有。 我也validation了这个hg文件,并且具有你所期望的执行权限。

为什么我得到这个错误?

除了path和权限之外,我只是不知道要检查什么。 任何build议,将不胜感激。

谢谢!

这可能是在hg脚本中的魔术线错了。 尝试:

 $ less `which hg` 

第一行应该是python解释器的绝对path。 就像是:

 #!/usr/bin/python 

(或者你的python解释器在哪里)。 仔细检查这个path是否正确。