
我正在嘗試運行一些使用wc
和cat
命令的簡單 bash 腳本。該腳本失敗並顯示以下內容:
wc: command not found
或者這個(在我評論使用 wc 的字串之後):
cat: command not found
我不知道發生了什麼事。包含完全相同的程式碼片段的類似腳本效果非常好。兩種腳本都在相同的條件下使用。除了,
machine:~ user$ which wc
/usr/bin/wc
和
machine:~ user$ which cat
/bin/cat
答案1
正如@Tyson 所指出的,PATH
變數保存著答案。
我只是想指出,在腳本中使用完整路徑通常被認為是一種很好的做法。例如,wc
您可能不想呼叫/usr/bin/wc
.除了解決上述問題之外,它還更安全,因為您可以防止運行某人可能使用相同名稱放入您的路徑中的應用程式...我不記得這些攻擊的名稱,但您明白了=)