我有一个cron作业来运行一个名为sedcmd.sh的sed shell来预处理一些json数据。当我在正确的目录中时,我用
手动运行它. ./sedcmd.sh
它有效。 shell本身工作正常。 作为参考,其中一个命令看起来像
sed -i '/^\s*$/d' /home/school/Desktop/Programs/rawjsondata.txt
我的cronjob看起来像
5 * * * * . ./home/school/Desktop/Programs/sedcmd.sh
我收到错误“找不到这样的文件或目录”。我究竟做错了什么。我已经三次检查任何随机拼写错误。我也似乎无法从任何其他目录运行sedcmd.sh,即使我给出了整个文件路径,所以它肯定是我做错了。我对解决方案的想法是
答案 0 :(得分:1)
当您从终端运行脚本时,您执行以下操作:
./script_name.sh
但要从crontab执行相同的脚本,您可以执行5 * * * * /path/to/script/script_name.sh
Sam从评论中得到了这个答案,将答案作为社区维基发布。