我已经解决了这个问题,但我不知道为什么这解决了这个问题,我不喜欢不知道出了什么问题。我在Ubuntu上使用终端
这是问题......
如果我运行$ ngm -args
它会运行但失败,因为它需要sudo
如果我运行$ sudo ngm -args
,我会收到错误,例如找不到ngm
如果我运行$ sudo /usr/local/lib/ngm -args
,它会以sudo运行并且运行正常。
我不明白为什么3个工作,2个不起作用。
答案 0 :(得分:3)
尝试运行$ ngm -args
时,shell将在其$PATH
变量中查找可执行文件,并找到它。尝试运行可执行文件时,它发现它必须是sudo
并退出
当您运行$ sudo ngm -args
时,shell将在Root用户的$PATH
环境中查找可执行文件,但无法找到它。
当像上一个选项一样运行它时,shell不需要查看root用户的$PATH
,因为它在您指定的路径/usr/local/lib/ngm
中找到它,因此两个问题都消失了。
This might be a starting point in order to understand the PATH