0
我有一个cron作业来运行一个名为sedcmd.sh的sed shell来预处理一些json数据。当我在正确的目录我手动运行它与crontab不会运行sed shell
. ./sedcmd.sh
它的工作原理。外壳本身工作正常。 参考命令的一个内部看起来像
sed -i '/^\s*$/d' /home/school/Desktop/Programs/rawjsondata.txt
我的cronjob看起来像
5 * * * * . ./home/school/Desktop/Programs/sedcmd.sh
我得到的错误“没有这样的文件或目录下找到”。我究竟做错了什么。我三重检查了任何拼写错误。我也似乎无法从任何其他目录运行sedcmd.sh,即使我给整个文件路径,所以它肯定是我做错了。我对解决方案的想法是
- 我应该将sedcmd.sh添加到我的$ PATH或bashrc中,以便我可以从任何地方调用它。我不知道该怎么做。 或
- 弄清楚如何从crontab中正确调用它。我也不知道该怎么做。
如果将反式词条更改为'5 * * * */home/school/Desktop/Programs/sedcmd.sh'(没有点),该怎么办? –
修复它。那为什么呢?我认为这些点是调用shell所必需的。 – Sam
仅当您在相同的目录中调用文件时。看看[这里](http://unix.stackexchange.com/a/4432) –