Bash
為什麼“sudo ./foo”返回“./foo Command not found”?
我在使用新的 Raspberry Pi 時遇到問題。每當我嘗試執行
./foo
時,它都會返回
-bash: ./foo: Permission denied
但是如果我嘗試執行
sudo ./bar
,那麼它會返回
sudo: ./bar: command not found
sudo
與其他東西(例如:ifdown
和)一起使用ifup
可以正常工作,但是我下載或編寫的任何腳本都拒絕執行。我對 bash 非常熟悉,但主要是在 Mac OS X 的上下文中。在我看來,這應該可以工作。
您需要將腳本權限設置為可執行:
chmod +x ./foo # or sudo chmod +x ./foo ./foo
聽起來 foo 是不可執行的。您可以通過執行來解決此問題
chmod +x foo
,然後./foo
或sudo ./foo
使其可執行的替代方法是將其sh
作為參數傳遞給。您可以通過鍵入sh ./foo
或以這種方式執行它sudo sh ./foo
。