帶-rw-r - r--權限的shell腳本文件dummy.sh,可以在下面的命令中正常運行。爲什麼shell腳本直接執行時不會運行,而是使用/ usr/bin/sh或/ usr/bin/bash運行?
/usr/bin/sh dummy.sh
(OR)
/usr/bin/bash dummy.sh
但最終與的bash:./dummy.sh:權限被拒絕誤差,如下面直接執行時。這背後的原因是什麼?
./dummy.sh
帶-rw-r - r--權限的shell腳本文件dummy.sh,可以在下面的命令中正常運行。爲什麼shell腳本直接執行時不會運行,而是使用/ usr/bin/sh或/ usr/bin/bash運行?
/usr/bin/sh dummy.sh
(OR)
/usr/bin/bash dummy.sh
但最終與的bash:./dummy.sh:權限被拒絕誤差,如下面直接執行時。這背後的原因是什麼?
./dummy.sh
您的腳本需要標記爲您的系統的可執行文件。這是通過爲業主,團隊或世界其他地方設置「x」位來完成的。 請參閱:Wikipedia - Unix permissions 通過執行
chmod 755 dummy.sh
您將設置讀,寫和腳本的所有者執行權限和讀取和組和世界其他地區的執行權限。
-rw-rr對於獨立執行是不夠的。您需要將其設置爲可執行文件:'chmod 755 dummy.sh' – Psi
Becuase'dummy.sh'沒有執行權限,其中'/ usr/bin/sh'具有可執行權限。做'ls -lrt/usr/bin/sh'來檢查'sh'的權限。然而'sh'只是一個'符號鏈接'的實際外殼,可能是'bash' .... –