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

M. *_*han 5 notification command-line gnome-terminal notify-send

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

通知可以通过运行来触发:

notify-send "Notification message"
Run Code Online (Sandbox Code Playgroud)

我的命令是:

sudo /opt/lampp/xampp start
Run Code Online (Sandbox Code Playgroud)

在终端中显示以下结果:

Starting XAMPP for Linux 5.6.20-0...
XAMPP: Starting Apache...already running.
XAMPP: Starting MySQL...already running.
XAMPP: Starting ProFTPD...already running.
Run Code Online (Sandbox Code Playgroud)

我希望此结果显示在通知中,就像“通知消息”显示在notify-send.

谢谢!

pa4*_*080 8

在大多数情况下,你可以使用notify-send命令替换 $()。例如:

notify-send "XAMP Start" "$(sudo /opt/lampp/xampp start)"
Run Code Online (Sandbox Code Playgroud)

在一个脚本中,您可以使用一个函数来包装整个输出:

#!/bin/bash
main() { echo "Line 1"; echo "Line 2";  echo "Line 3"; }
notify-send "Script output" "$(main)"
Run Code Online (Sandbox Code Playgroud)

如果您需要使用以下命令运行该功能sudo

notify-send "Script output" "$(sudo bash -c "$(declare -f main); main")"
Run Code Online (Sandbox Code Playgroud)