在桌面通知中显示终端命令结果

在桌面通知中显示终端命令结果

我需要在通知中显示终端命令的结果。

可以通过运行以下命令触发通知:

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")"

相关内容