2017-02-14 68 views
0

我已經解決了這個問題,但我不知道爲什麼這解決了這個問題,我不喜歡不知道哪裏出了問題。我使用Ubuntu的命令沒有sudo工程,但需要sudo

這是問題的終端...

  1. 如果我運行$ ngm -args它運行,但因爲它需要須藤

  2. 如果我運行失敗$ sudo ngm -args我得到的像ngm沒有找到的錯誤

  3. 如果我運行$ sudo /usr/local/lib/ngm -args它與sudo運行,並完美的作品。

我不明白爲什麼3作品和2不起作用。

回答

2

當試圖運行$ 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