-rw-r--r--. 1 myusername developers 169 May 17 09:01 build.sh
为什么如果没有执行权限我可以从命令行执行 build.sh 脚本,但是当 crontab 尝试执行它时却失败了?
答案1
您无法从命令行执行该命令,因为它没有执行权限。
你可以做的是从命令行获取它,
. ./build.sh
这会导致当前 shell 执行文件中的命令,就像它们是在命令行上输入的一样。
您不能从 cron 执行此操作,因此您需要授予脚本执行权限(chmod 744 build.sh
)。
您还可以通过执行 shell 并将脚本传递给它来“运行”脚本,例如,
sh build.sh
这是因为您正在执行sh
(具有 +x 权限),并且它正在读取文件build.sh
并运行命令,就像它们是在命令行中输入的一样,然后退出。