Отобразите терминальный результат команды в Настольном уведомлении

Я должен отобразить результат терминальной команды в уведомлении.

Уведомления могут быть инициированы путем выполнения:

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.

Спасибо!

5
задан 19 April 2018 в 14:22

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")"
8
ответ дан 23 November 2019 в 08:58

Другие вопросы по тегам:

Похожие вопросы: