Exibir o resultado do comando do terminal na notificação da área de trabalho

5

Eu preciso mostrar o resultado de um comando de terminal na notificação.

As notificações podem ser acionadas executando:

notify-send "Notification message"

O comando que eu tenho é:

sudo /opt/lampp/xampp start

que mostra o seguinte resultado no terminal:

Starting XAMPP for Linux 5.6.20-0...
XAMPP: Starting Apache...already running.
XAMPP: Starting MySQL...already running.
XAMPP: Starting ProFTPD...already running.

Eu quero que esse resultado seja exibido na notificação, assim como "Mensagem de notificação" é exibido com notify-send .

Obrigado!

    
por M. Zeeshan 14.04.2018 / 10:28

1 resposta

8

Na maioria dos casos, você pode usar notify-send com substituição de comando % código%. Por exemplo:

notify-send "XAMP Start" "$(sudo /opt/lampp/xampp start)"

Dentro de um script, você pode usar uma função para agrupar toda a saída:

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

Se você precisar executar essa função com $() :

notify-send "Script output" "$(sudo bash -c "$(declare -f main); main")"
    
por pa4080 14.04.2018 / 10:42