我有一个运行程序外壳程序脚本,在其中定义了其他外壳程序脚本以一次性执行。手动运行时,它工作正常。但是,当我运行crontab时,它不会触发。
我还看到,如果我添加/ bin / bash Script.sh,那么它将起作用。但是,在每个脚本之前添加/bin/bash
很复杂,因为某些脚本也在内部调用其他脚本?
谢谢。
答案 0 :(得分:0)
最可能的问题解释是Cron默认情况下倾向于使用/bin/sh
来运行内容,因此您没有所有可用的BASH功能。
要解决此问题,请将cron文件中的命令从/a/b/script.sh
更改为/bin/bash /a/b/script.sh
,以便您的顶级脚本以bash开头。还建议将#!
(shebang)放在所有脚本文件的开头