我正在运行ubuntu13.10,并希望编写一个bash脚本,它将在非预先确定的时间间隔内执行给定的任务。我对此的理解是,cronjobs要求我知道什么时候将再次执行任务。因此,建议我使用“at”。
我在使用“at”时遇到了一点麻烦。根据一些实验,我发现
echo "hello" | at now + 1 minutes 将运行在我的终端(有和没有引号)。运行"atq“会导致我的计算机告诉我命令在队列中。但是,我从未看到该命令的结果。我认为我做错了什么,但手册似乎并没有告诉我什么有用的东西。
提前感谢您的帮助。
发布于 2014-08-14 11:21:37
除了在没有终端的情况下运行命令(输出和输入可能被重定向到/dev/null)之外,您的命令也不会运行,因为传递给at的不是echo hello,而是hello。除非hello确实是一个现有命令,否则它不会运行。你可能想要的是:
echo "echo hello" | at now + 1 minutes 如果您想知道命令是否真的在运行,请尝试将输出重定向到一个文件:
echo "echo hello > /var/tmp/hello.out" | at now + 1 minutes稍后再查看文件。
https://stackoverflow.com/questions/25306556
复制相似问题