![在桌面通知中显示终端命令结果](https://linux22.com/image/1006833/%E5%9C%A8%E6%A1%8C%E9%9D%A2%E9%80%9A%E7%9F%A5%E4%B8%AD%E6%98%BE%E7%A4%BA%E7%BB%88%E7%AB%AF%E5%91%BD%E4%BB%A4%E7%BB%93%E6%9E%9C.png)
我需要在通知中显示终端命令的结果。
可以通过运行以下命令触发通知:
notify-send "Notification message"
我的命令是:
sudo /opt/lampp/xampp start
在终端中显示以下结果:
Starting XAMPP for Linux 5.6.20-0...
XAMPP: Starting Apache...already running.
XAMPP: Starting MySQL...already running.
XAMPP: Starting ProFTPD...already running.
我希望这个结果显示在通知中,就像“通知消息”显示一样notify-send
。
谢谢!
答案1
在大多数情况下你可以notify-send
使用命令替换 $()
。 例如:
notify-send "XAMP Start" "$(sudo /opt/lampp/xampp start)"
在脚本中,您可以使用函数来包装整个输出:
#!/bin/bash
main() { echo "Line 1"; echo "Line 2"; echo "Line 3"; }
notify-send "Script output" "$(main)"
如果您需要使用以下命令运行该功能sudo
:
notify-send "Script output" "$(sudo bash -c "$(declare -f main); main")"