Crontab不会运行sed shell

时间:2016-03-01 18:41:04

标签: shell sed crontab

我有一个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,即使我给出了整个文件路径,所以它肯定是我做错了。我对解决方案的想法是

  1. 我应该将sedcmd.sh添加到我的$ PATH或bashrc中,以便我可以从任何地方调用它。我不知道怎么办。 或者
  2. 弄清楚如何从crontab正确调用它。我也不知道怎么做。

1 个答案:

答案 0 :(得分:1)

当您从终端运行脚本时,您执行以下操作: ./script_name.sh但要从crontab执行相同的脚本,您可以执行5 * * * * /path/to/script/script_name.sh

之类的操作

Sam从评论中得到了这个答案,将答案作为社区维基发布。