Crontab 不显示包含 cat 命令的 shell 脚本

Crontab not shows shell script containing cat command

这是我的 crontab 代码

* * * * sh /tmp/date_insert.sh

和/tmp/date_insert.sh

date >> /tmp/date.txt
/usr/bin/cat(or just cat) /tmp/date.txt

每一分钟,日期都会添加到 date.txt 很好,但是 cat date.txt 命令什么也没显示。

如何每分钟在终端屏幕上显示 date.txt 的内容?

您提出的要求很奇怪。

How to show the contents of /tmp/date.txt on terminal screen every minute?

您想查看此文件多长时间?一秒,常数,一纳秒...?

Cron 作业是 运行 定期执行但并非设计用于实时终端交互的脚本。如果你想有实时终端交互,你必须执行其他操作。

由 cron-jobs 生成的输出,在本例中是命令 /usr/bin/cat /tmp/date.txt 的输出,将发送到您的用户帐户电子邮件。您可以使用 mail 命令检查它。尽管如此,如果您想检查正在更新的文件,使用 tail -f 命令会更容易。只需输入

$ tail -f /tmp/date.txt

每次 /tmp/date.txt 更新时都会更新。

就个人而言,我会将您的 cronjob 更改为以下内容:

# Example of job definition:
# .----------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7)
# |  |  |  |  |
# *  *  *  *  *   command to be executed
  *  *  *  *  *   date >> /tmp/date.txt
  *  *  *  *  *   /path/to/script.sh >> /tmp/date.txt

script.sh

#!/usr/bin/env bash
date

Cronjobs 并不难,但有时会令人费解。修复错误通常很容易,但您需要知道如何去做。为此,我建议阅读以下页面: