【问题标题】:Bash script write without overwrite? [closed]Bash脚本写入而不覆盖? [关闭]
【发布时间】:2021-03-03 19:02:52
【问题描述】:

我想通过每分钟将日期写入文本文件来测试crontab 作业,如以下脚本所示:

#!/bin/bash
date >> /home/SomeUserName/Desktop/date.txt

这几乎完成了我想要的,但我不希望我的脚本在每次迭代中覆盖文件。所以我使用了>> 而不是>,因为我认为它只会附加到文件中。虽然,每次crontab 执行脚本时,我只能看到一个日期。

为什么会这样?

我正在使用 linux mint。

【问题讨论】:

  • 你确定你正在执行正确的文件吗?
  • 是的,当我手动执行它时,我得到了想要的效果,但是当我使用 crontab 时,只保存最新的日期。
  • 您正确地期望您应该获得>> 的附加信息,因此请编辑您的Q 以显示造成此问题的crontab 条目。祝你好运。
  • 我投票结束这篇文章。 OP 已证明显示的脚本正在运行,但未能显示不工作的 cronjob。这就像在抱怨牛奶不好的同时展示一杯好咖啡。

标签: linux bash cron


【解决方案1】:

我可以确认它应该按预期工作。

创建了一个脚本/home/myuser/xd.sh:

#!/bin/bash
date >> $HOME/date.txt

还有一个 crontab(通过 crontab -e):

# m h  dom mon dow   command
  * *  *   *   *     /home/myuser/xd.sh

然后我看到了预期的结果:

$ cat date.txt 
Sa 16. Jul 02:02:01 CEST 2016
Sa 16. Jul 02:03:01 CEST 2016
Sa 16. Jul 02:04:01 CEST 2016
Sa 16. Jul 02:05:01 CEST 2016
Sa 16. Jul 02:06:01 CEST 2016
Sa 16. Jul 02:07:01 CEST 2016

【讨论】:

    猜你喜欢
    • 2015-03-12
    • 2011-05-08
    • 2012-04-15
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-07
    相关资源
    最近更新 更多