我正在运行ubuntu 13.10并希望编写一个bash脚本,它将以非预定的时间间隔执行给定的任务。我对此的理解是cronjobs要求我知道什么时候再次执行任务。因此,我被建议使用“at”。
我在使用“at”时遇到了一些麻烦。根据一些实验,我发现了
echo "hello" | at now + 1 minutes
将在我的终端中运行(带和不带引号)。运行“atq”会导致我的计算机告诉我该命令在队列中。但是,我从来没有看到命令的结果。我认为我做错了什么,但这些联机帮助文件似乎没有告诉我任何有用的东西。
提前感谢您的帮助。
答案 0 :(得分:1)
除了命令在没有终端的情况下运行(输出和输入可能重定向到/dev/null
)之外,您的命令也不会运行,因为您传递给at
的内容不是{{ 1}}但只是echo hello
。除非hello
实际上是现有命令,否则它将无法运行。你想要的可能是:
hello
如果您想知道您的命令是否真的在运行,请尝试将输出重定向到文件:
echo "echo hello" | at now + 1 minutes
稍后检查文件。