Linux
Linux 執行權限
-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
並執行命令,就好像它們在退出之前在命令行上鍵入一樣。