Crontab 不会 运行 sed shell

Crontab won't run sed shell

我有一个 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 

我收到错误 "No such file or directory found"。我究竟做错了什么。我已经对任何随机拼写错误进行了三重检查。即使我提供了整个文件路径,我似乎也无法从任何其他目录 运行 sedcmd.sh ,所以这肯定是我做错了什么。我对解决方案的想法是

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

当您是来自终端的 运行 脚本时,您可以: ./script_name.sh 但要从 crontab 执行相同的脚本,您需要执行类似 5 * * * * /path/to/script/script_name.sh

的操作

由于 Sam 从评论中得到了这个答案,将答案发布为社区 wiki。