Bien que d’autres réponses aient déjà couvert la plupart des moyens d’obtenir des notifications sur un travail terminé, je tiens à vous donner deux centimes puisque vous avez posé votre question dans le format suivant:
Le lieu où je travaille a des commandes qui prennent beaucoup de temps à exécuter.
J'ai le même problème. Parfois, quelque chose peut durer 15 minutes.
J'ai la fonction suivante dans mon .bashrc:
# push a notification to your phone. can be handy if you're running a
# build and you want to be notified when it's finished.
push() {
curl -s -F "token=PUSHOVER_TOKEN" \
-F "user=PUSHOVER_USER" \
-F "title=terminal" \
-F "message=$1" https://api.pushover.net/1/messages.json > /dev/null 2>&1
}
Cela utilise l'application Pushover afin de transmettre une notification à mon téléphone. De cette façon, je peux aller déjeuner ou participer à une réunion tout en étant averti des tâches que j'ai commencées sur mon ordinateur avant de partir.
Je l'utilise de la manière suivante:
command_to_run && push "yes! command finished successfully!" || push "awww man! something failed :-("
Donc, si la commande retourne un code de sortie correct, le premier push sera exécuté. En cas d'erreur, le second sera exécuté.
Ofc vous devez créer un utilisateur sur Pushover, et enregistrer une application pour envoyer des notifications à partir de
https://pushover.net/
espérons que cela a aidé!
fg;say "Job finished"
cela fonctionnerait. Mais ... y a-t-il moyen de l'automatiser davantage - c.-à-d. Sonner ou avertir après l'achèvement de tout travail nécessitant plus d'un seuil à la minute près? Existe-t-il une variable shell, par exemple dans bash, le temps écoulé de la dernière commande?