每分钟向终端输出“hello world”的Cron作业

每分钟向终端输出“hello world”的Cron作业

这是我第一次使用 cron 作业,我不知道哪里出了问题。我读了关于这个问题的三个最多人回答的问题,但它仍然不起作用。

sayhello.sh,它已通过以下方式执行chmod -x,位于/home/user

#!/bin/sh
echo "HELLO WORLD"

crontab -e

* * * * * DISPLAY=0.0 /home/user/sayhello.sh

答案1

单独的 shell 无法与用户的桌面交互 - 它需要连接到某种终端设备。例如:

* * * * * DISPLAY=:0 gnome-terminal -- /home/user/sayhello.sh

或者

* * * * * DISPLAY=:0 xterm -e /home/user/sayhello.sh

您可能需要安排终端在命令退出后保持打开状态 - 通过其首选项,或者通过向read a脚本底部添加命令(以便 shell 阻止等待用户输入)。

答案2

您尝试过 sudo chmod +x sayhello.sh 吗?

我注意到您说了 -x,也许这就是问题所在。-x 删除执行权限,而 +x 添加执行权限。

答案3

设置所有星号* * * * *会告诉 crontab 每个月每周每天每分钟运行该命令。您必须指定要运行脚本的时间:

# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/

相关内容