Linux

Linux 執行權限

  • May 23, 2012
-rw-r--r--. 1 myusername developers 169 May 17 09:01 build.sh

為什麼我可以從命令行執行 build.sh 腳本,如果它沒有執行權限,但是當 crontab 嘗試執行它時,它會失敗?

您不能從命令行執行它,因為它沒有執行權限。

您可以做的是從命令行獲取它,

. ./build.sh

這會導致目前 shell 執行文件中的命令,就好像它們是在命令行上鍵入的一樣。

您不能從 cron 執行此操作,因此您需要授予腳本執行權限 ( chmod 744 build.sh)。

您還可以通過執行 shell 並將腳本傳遞給它來“執行”腳本,例如,

sh build.sh

這是因為您正在執行sh(具有 +x 權限),並且它正在讀取文件build.sh並執行命令,就好像它們在退出之前在命令行上鍵入一樣。

引用自:https://serverfault.com/questions/391736