Я должен отобразить результат терминальной команды в уведомлении.
Уведомления могут быть инициированы путем выполнения:
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
.
Спасибо!
В большинстве случаев можно использовать 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")"