在终端中回显'at'命令失败



以下内容应该在今天上午 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 上)。为什么?我是否需要以某种方式指定该输出的窗口?

感谢您的任何帮助!

at从无法访问终端的守护程序(atd)运行命令。因此,脚本的输出不会出现在终端中(除非您在命令中通过管道传输到正确的tty)。

相反,它按照man at所说的那样做:

用户将收到标准错误和其命令的标准输出(如果有)。

如果您的计算机配置正确,您可以使用mail访问这些报告。

如果要at写入终端,可以尝试将输出管道传输到write,这会将消息写入用户的 TTY,或者如果要写入连接到系统的每个终端,可以wall

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

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

相关内容

  • 没有找到相关文章