... 一分钟过去了;恢复示威

... 一分钟过去了;恢复示威

也许这更多是关于脚本和终端使用的一般问题,而不是“at”命令的使用问题。不管怎样,我正在探索如何使用 at 命令来掌握它的行为,以及在将它用于严肃的脚本之前如何控制它。

我编写了一个名为 at-test.sh 的简单脚本,将其保存到 $HOME 并使其可执行:

#!/bin/sh
echo $(date +%H:%M:%s) > /dev/pts/9
exit 0

然后通过运行它

at -f './at-test.sh' now + 1 minutes

它按预期运行,但我必须按 Ctrl+C 才能恢复 shell 提示符。后来我了解到,按 Enter 键也可以恢复提示。是否有办法通过脚本中的命令恢复提示?

答案1

您已成功提交at作业,并且已成功将日期打印到(您的)终端(位于 )/dev/pts/9。您还有一个 shell,它已打印提示并正在等待您的输入。

这是对所发生情况的模拟:

your-prompt-here$ at -f './at-test.sh' now + 1 minutes
job 1 at Fri Mar  8 20:13:00 2019
your-prompt-here$ 

... 一分钟过去了;恢复示威

your-prompt-here$ 20:14:1552093897
echo I am still here
I am still here
your-prompt-here$

如您所见,我的 shell 接受了该echo命令;我的光标根本不在我“预期”的位置,因为该at作业潦草地写在我的终端上。

相关内容