没有sudo的命令可以工作,但需要sudo

时间:2017-02-14 15:56:34

标签: linux ubuntu terminal sudo

我已经解决了这个问题,但我不知道为什么这解决了这个问题,我不喜欢不知道出了什么问题。我在Ubuntu上使用终端

这是问题......

  1. 如果我运行$ ngm -args它会运行但失败,因为它需要sudo

  2. 如果我运行$ sudo ngm -args,我会收到错误,例如找不到ngm

  3. 如果我运行$ sudo /usr/local/lib/ngm -args,它会以sudo运行并且运行正常。

  4. 我不明白为什么3个工作,2个不起作用。

1 个答案:

答案 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