DD.*_*DD. 1 linux permissions bash cron
-rw-r--r--. 1 myusername developers 169 May 17 09:01 build.sh
Run Code Online (Sandbox Code Playgroud)
为什么我可以从命令行执行 build.sh 脚本,如果它没有执行权限,但是当 crontab 尝试执行它时,它失败了?
您不能从命令行执行它,因为它没有执行权限。
您可以做的是从命令行获取它,
. ./build.sh
Run Code Online (Sandbox Code Playgroud)
这会导致当前 shell 执行文件中的命令,就好像它们是在命令行上键入的一样。
您不能从 cron 执行此操作,因此您需要授予脚本执行权限 ( chmod 744 build.sh)。
您还可以通过执行 shell 并将脚本传递给它来“运行”脚本,例如,
sh build.sh
Run Code Online (Sandbox Code Playgroud)
这是因为您正在执行sh(具有 +x 权限),并且它正在读取文件build.sh并运行命令,就好像它们是在命令行上键入的一样,然后再退出。
| 归档时间: |
|
| 查看次数: |
92 次 |
| 最近记录: |