En général, si vous savez que avant en exécutant la commande, vous pouvez simplement la lancer avec :
command; command-after &
Ceci exécutera le command-after
après la commande précédente s'est terminée (quel que soit son code de sortie). L'adresse &
le lancera en arrière-plan.
Si vous vous souciez d'une sortie réussie ou non, utilisez respectivement :
command && command-after-only-if-success &
command || command-after-only-if-fail &
Si la commande a déjà commencé, vous pouvez utiliser le contrôle des tâches pour le suspendre, puis le ramener au premier plan avec fg
enchaîné avec votre notification :
command
# enter Ctrl-z
fg ; command-after
Maintenant ce que vous voulez faire après cela dépend de votre environnement.
-
Sur tout système vous pouvez "sonner" la cloche du terminal . Cela dépend de votre système exact ce qui fonctionne vraiment (BSD vs. GNU Linux, etc.), mais tput bel
devrait faire. Je ne pourrais pas le tester de manière fiable pour le moment, cependant. Faites une recherche sur "ring bell" pour en savoir plus.
-
Sur Mac OS X vous pouvez utiliser AppleScript pour faire apparaître une boîte de dialogue du Finder :
osascript -e 'tell Application "Finder" to display dialog "Job finished" '
Tu pourrais lui faire dire quelque chose :
say "Job finished"
Vous pouvez également utiliser le système de notification de Mountain Lion :
sudo gem install terminal-notifier # <= only need to do this once
terminal-notifier -message "Job finished!" -title "Info"
-
En GNOME , zenity
peut afficher une boîte de dialogue GTK, appelée depuis la ligne de commande. Voir aussi cette question de Stack Overflow : afficher une boîte de message à partir d'un bash script sous linux . Il peut être installé via votre gestionnaire de paquets préféré.
zenity --info --text="Job finished"
-
Certaines distributions peuvent avoir xmessage
. Spécifiquement pour les environnements GTK, il existe gxmessage
.
-
Sur les environnements de bureau qui mettent en œuvre le Spécification des notifications de bureau comme Ubuntu y GNOME il y a un système de notification que vous pouvez déclencher avec notify-send
(partie de libnotify
).
notify-send "Job finished!"
-
KDE utilise kdialog
par exemple :
kdialog --passivepopup 'Job finished'