Bash

為什麼“sudo ./foo”返回“./foo Command not found”?

  • January 17, 2014

我在使用新的 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,然後./foosudo ./foo使其可執行的替代方法是將其sh作為參數傳遞給。您可以通過鍵入sh ./foo或以這種方式執行它sudo sh ./foo

引用自:https://unix.stackexchange.com/questions/109794