Linux Bash crontab不';输出shell脚本文件的产品

Linux Bash crontab不';输出shell脚本文件的产品,linux,bash,unix,crontab,Linux,Bash,Unix,Crontab,大家好,我是一名学习UnixBash的游戏编程一年级学生,在理解crontab时遇到了一个问题。我正在尝试做一些相当简单的事情,检查我是否在线,获取关于给定网站的信息,并ping另一个网站以验证它是否在线。我的脚本文件完成了所有这一切,但当我试图通过crontab执行这些任务时,我收到的电子邮件绝对只告诉我jibberish。输出基本上只是告诉我我正在尝试做所有这些事情,但它没有输出结果。我不确定我会错在哪里。 只是为了验证我在系统上是否有使用crontab的权限,并且在我试图让它工作时,脚本每

大家好,我是一名学习UnixBash的游戏编程一年级学生,在理解crontab时遇到了一个问题。我正在尝试做一些相当简单的事情,检查我是否在线,获取关于给定网站的信息,并ping另一个网站以验证它是否在线。我的脚本文件完成了所有这一切,但当我试图通过crontab执行这些任务时,我收到的电子邮件绝对只告诉我jibberish。输出基本上只是告诉我我正在尝试做所有这些事情,但它没有输出结果。我不确定我会错在哪里。 只是为了验证我在系统上是否有使用crontab的权限,并且在我试图让它工作时,脚本每分钟都在运行。我希望有人能给我指出正确的方向,我所有的在线研究都让我误入歧途

这是我的克朗塔布

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
HOME=/
LOGNAME=username

* * * * * /bin/bash /home/students/~/online.sh

30 23 1 * * rm online.log
这是我的剧本

touch online.log
who | grep username >> online.log ; whois yahoo.ca >> online.log ; ping -c 1 www.google.com >> online.log

输出被重定向到
online.log
,因此您需要在那里查看,而不是在电子邮件中。如果您希望输出也出现在电子邮件中,则应考虑使用
tee
而不是重定向。

如果您希望使用
cron
执行脚本,则需要在脚本中使用绝对路径

请注意,
cron
在与在命令行上执行脚本时得到的不同的环境中执行。例如,将行更改为

touch online.log

要包含到
online.log的绝对路径,问题是,它不会将输出发送到online.log,而是将电子邮件发送到/var/spool/mail/username,我希望它将输出发送到online.log,这将是我现在的一个进步。真的只是jibberish吗?通常情况下,cron发送的电子邮件是调试此类问题的第一条线索。顺便说一下,<代码> > />代码>中间的代码> /home /Survivs/~/Online。SH 看起来像JBBRISH:PLOL,是非常正确的,但是为了隐私,我认为最好省略我的用户名和我所发布的代码的其他识别部分。非常感谢,这完全是我的问题,最糟糕的是,几分钟前我刚刚读了你在另一篇文章中说的话,但它没有点击!非常感谢@德夫努尔