Geralmente, se você souber isso antes de executar o comando, basta iniciá-lo com:
command; command-after &
Isso executará o command-after
após o comando anterior ter saído (independentemente de seu código de saída). O &
irá iniciá-lo em segundo plano.
Se você se importa com uma saída bem-sucedida ou com falha, use:
command && command-after-only-if-success &
command || command-after-only-if-fail &
Se o comando já tiver iniciado, você poderá usar o controle de trabalho para suspendê-lo e, em seguida, retorná-lo ao primeiro plano com fg
da sua notificação:
command
# enter Ctrl-z
fg ; command-after
Agora ... o que você quer fazer depois disso depende do seu ambiente.
-
Em qualquer sistema , você pode "tocar" a campainha do terminal . Depende do seu sistema exato o que realmente funciona (BSD vs. GNU Linux, etc.), mas
tput bel
deve fazer. Eu não poderia testá-lo de forma confiável agora, no entanto. Procure por "campainha" para saber mais. -
No Mac OS X , você pode usar o AppleScript para abrir uma caixa de diálogo do Finder:
osascript -e 'tell Application "Finder" to display dialog "Job finished" '
Você pode dizer algo para você:
say "Job finished"
Ou você pode usar o sistema de notificação da Mountain Lion:
sudo gem install terminal-notifier # <= only need to do this once terminal-notifier -message "Job finished!" -title "Info"
-
No GNOME ,
zenity
pode mostrar uma caixa de diálogo do GTK, chamada a partir da linha de comando . Veja também esta pergunta do Stack Overflow: mostrando uma caixa de mensagem de um script bash no linux . Pode ser instalado através do seu gerenciador de pacotes favorito.zenity --info --text="Job finished"
-
Algumas distribuições podem ter
xmessage
. Especificamente para ambientes GTK, hágxmessage
. -
O Ubuntu tem um sistema de notificação que você pode ativar com
notify-send
.notify-send "Job finished!"
-
O KDE usa
kdialog
, por exemplo:kdialog --passivepopup 'Job finished'