Je dois afficher le résultat d'une commande de terminal dans la notification.
Les notifications peuvent être déclenchées en exécutant:
notify-send "Notification message"
La commande que j'ai est la suivante:
Sudo /opt/lampp/xampp start
qui montre le résultat suivant dans le terminal:
Starting XAMPP for Linux 5.6.20-0...
XAMPP: Starting Apache...already running.
XAMPP: Starting MySQL...already running.
XAMPP: Starting ProFTPD...already running.
Je veux que ce résultat soit affiché dans la notification, tout comme "Message de notification" est affiché avec notify-send
.
Merci!
Dans la plupart des cas, vous pouvez utiliser notify-send
avec substitution de commande$()
. Par exemple:
notify-send "XAMP Start" "$(Sudo /opt/lampp/xampp start)"
Dans un script, vous pouvez utiliser une fonction pour envelopper la totalité de la sortie:
#!/bin/bash
main() { echo "Line 1"; echo "Line 2"; echo "Line 3"; }
notify-send "Script output" "$(main)"
Si vous devez exécuter cette fonction avec Sudo
:
notify-send "Script output" "$(Sudo bash -c "$(declare -f main); main")"