首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在终端中回显'at‘命令失败

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

Stack Overflow用户
提问于 2012-10-19 14:27:04
回答 2查看 267关注 0票数 0

下面的代码应该会在今天上午9:00在我的Linux命令行上打印"hello“(或一些提示):

代码语言:javascript
运行
复制
$ at 9:00AM
warning: commands will be executed using /bin/sh
at> echo "hello"
at> <EOT> 

但是,在指定的时间,什么也不会发生。

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

代码语言:javascript
运行
复制
$ at 9:00AM
at> echo "hello" > /home/mart/hello.txt
at> <EOT>
$ cat /home/mart/hello.txt
hello

所有作业都按计划显示,我只是无法将任何输出输出到终端窗口(我使用的是带有Terminator的Crunchbang Linux )。为什么?我是否需要以某种方式指定该输出的窗口?

谢谢你的帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-19 14:29:13

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

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

用户将收到来自其命令的标准错误和标准输出的邮件。

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

如果您想让at写入您的终端,您可以尝试将输出通过管道传输到write,它会将一条消息写入用户的TTY;如果您希望写入连接到系统的每个终端,则可以尝试通过管道将输出传输到wall

票数 1
EN

Stack Overflow用户

发布于 2012-10-21 16:54:35

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

代码语言:javascript
运行
复制
$ at 9:00AM
warning: commands will be executed using /bin/sh
at> echo "hello" | wall
at> <EOT>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12968535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档