【问题标题】:Run command after 1 hour in Linux在 Linux 中 1 小时后运行命令
【发布时间】:2016-02-27 08:53:30
【问题描述】:

我只想在 1 小时后回显我的字符串。我看到了at 命令,但它可以在特定时间运行脚本(HH:MM)。我希望我的 echo 命令在 1 小时后运行,无论它是什么时间。

【问题讨论】:

  • sleep 1h && echo 'my string'?
  • 非常感谢它的工作。
  • 只是给任何正在寻找稍微不同的人的注释:如果您想继续使用 CLI,这将使命令行在休眠期和执行命令之前无法使用最好运行 cron 作业

标签: linux unix command


【解决方案1】:

根据sleep 手册页,sleep

暂停 NUMBER 秒。 SUFFIX 可以是 's' 秒(默认),'m' 分钟,'h' 小时或 'd' 天。与大多数要求 NUMBER 为整数的实现不同,这里的 NUMBER 可以是任意浮点数。给定两个或更多参数,暂停由它们的值之和指定的时间量。

因此您可以使用sleep 1hsleep 60msleep 3600s 或仅使用sleep 3600 休眠1 小时,然后执行您的命令ls。例如sleep 1h && echo "hello world"

【讨论】:

    【解决方案2】:

    您也可以使用 at(at 非常擅长理解时间,请参阅this page 了解很多很好的示例)。

    > at now + 1 hour
    at> echo 'my string' > /dev/stdout
    at> ^D
    

    在您输入 at 时间规范后,它会将您带到 at 提示符(例如,您的操作系统我或我不显示 at> 提示符,OSX 不显示)。然后键入要执行的任何命令,然后按 Control-D 退出 at 提示。一个警告:随意运行您的命令并将结果邮寄给您。因此,如果您希望您的输出出现在您的终端上,您应该将您的输出定向到适当的设备:/dev/stdout 和 /dev/tty 通常可以工作。

    【讨论】:

      【解决方案3】:

      sleep 60m && ls

      【讨论】:

        猜你喜欢
        • 2019-09-02
        • 1970-01-01
        • 2014-06-30
        • 1970-01-01
        • 2011-11-01
        • 1970-01-01
        • 2021-05-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多