0

今天上午 9:00 在我的 Linux 命令行上打印“hello”(或一些提醒):

$ at 9:00AM
warning: commands will be executed using /bin/sh
at> echo "hello"
at> <EOT> 

但是,在指定的时间,什么都没有发生。

我有一个空文件,etc/at.deny没有/etc/at.allow文件,所以使用该命令的权限应该没有任何问题。此外,在上午 9:00 写入文件也可以:

$ at 9:00AM
at> echo "hello" > /home/mart/hello.txt
at> <EOT>
$ cat /home/mart/hello.txt
hello

所有作业都按计划显示,我无法在终端窗口中获​​得任何输出(我在带有终结者的 Crunchbang Linux 上)。为什么?我是否需要以某种方式指定该输出的窗口?

谢谢你的帮助!

4

2 回答 2

1

atatd从无法访问您的终端的守护程序 ( ) 运行命令。因此,脚本的输出不会出现在您的终端中(除非您tty在命令中向右管道)。

相反,它的作用是man at

如果有的话,用户将收到来自他的命令的标准错误和标准输出。

mail如果您的机器配置合适,您可以访问这些报告。

如果您想at写入您的终端,您可以尝试将输出通过管道发送到write,它将一条消息写入用户的 TTY,或者wall如果您想写入连接到系统的每个终端,则发送到。

于 2012-10-19T06:29:12.813 回答
0

好的,nneonneo 的解释使我使用wall,它向所有用户发送消息。所以在终端窗口中设置自己的提醒可以这样完成:

$ at 9:00AM
warning: commands will be executed using /bin/sh
at> echo "hello" | wall
at> <EOT>
于 2012-10-21T08:54:35.063 回答