使用:
20 21 * * * /bin/sh /Users/username/Documents/first.sh
执行我的脚本,btw在顶部有这个:
#!/bin/sh
相反,我得到了这个:
You have new mail in /var/mail/username
使用以下输出:
/Users/username/Documents/first.sh: line 3: wget: command not found
/Users/username/Documents/first.sh: line 4: wget: command not found
我该如何解决这个问题?
答案 0 :(得分:2)
即使你以某种方式让你的cron工作工作,我也非常想指出你的解决方案"似乎无关紧要。
" bash first.sh"这不是一个好主意,因为脚本的开头以"#!/ bin / sh"开头,这意味着:你只是" first.sh"系统将使用" / bin / sh"
" cd / Users / username / Documents"不解决未找到的"命令"问题。
这实际上是cron作业的常见问题。根本原因是:cron作业(在这种情况下是first.sh)运行在" clean"环境。也就是说,您的个人资料不是来源。因此,PATH env var只包含最少数量的路径,不幸的是" wget"不在那些道路上。
解决方案:简单直接。你可以
为了安全起见,我们通常更喜欢使用绝对路径调用外部命令(wget等)。
答案 1 :(得分:-2)
谢谢大家,我找到了解决方案:
我修改了我的crontab文件:
34 21 * * * cd / Users / username / Documents&& bash first.sh