是否可以将“service httpd restart”的输出转发为“notify-send $ output”?

时间:2013-08-08 07:44:00

标签: linux terminal centos

如果我创建一个将重启apache的脚本:

service httpd restart

...我永远不知道输出是什么,因为它没有打开终端窗口。

我想知道是否可以获取输出然后转发到:

notify-send output

......通过这种方式可以看到屏幕上几秒钟内发生的事情。

1 个答案:

答案 0 :(得分:1)

首先,你应该在运行脚本时查看终端内部。

另请注意,服务是在登录时间之前(启动时)启动的。

Apache或Lighttpd等服务器守护进程通常在/var/log/下有自己的日志文件;

您可以将service httpd restart命令的输出放入某个变量,如

  restart_msg=$(service httpd restart 2>&1)

其中2>&1 stderr 重定向到 stdout

然后你可以用

来表明
  notify-send "HTTPD restarted" "$restart_msg"

但我不认为这一切都是个好主意。你应该养成在终端内重启服务的习惯并查看输出(在极少数情况下出现问题,你需要全部)。

阅读Advanced Bash Scripting Guide