0 votes

Lancer script après la fin de la commande

Je me retrouve à exécuter de longs scripts/commandes et je ne veux pas attendre qu'ils se terminent pour les regarder. D'un autre côté, j'aimerais savoir immédiatement quand il se termine. Je sais qu'il est possible de le faire avec && mais il semble que cela représente beaucoup de travail de dactylographie.

Existe-t-il un moyen de faire cela en plaçant un hook post-exécution dans bash ? Je sais que c'est lié à Bash et pas tellement à OS X, mais peut-être qu'il y a quelque chose de caché dans OS X.

1voto

jaume Points 13186

Il n'y a pas de crochet post-exécution, seulement un crochet pré-exécution : si elle est définie, la valeur de la variable shell PROMPT_COMMAND est exécuté avant l'émission de l'invite. Voir aussi homme bash pour plus de détails.

Une option serait de créer une fonction qui demande à Terminal d'émettre un bip après l'exécution de la longue commande, afin que vous sachiez qu'elle est terminée. Une telle fonction serait la suivante :

$ function r { $@; beep; yourscript; }

Votre script sera automatiquement lancé après que Terminal ait émis un bip.

Utilisez la fonction pour exécuter de longues commandes comme celle-ci :

$ r longcommand

Vous pouvez ajouter la fonction à votre .bashrc pour éviter de le définir à chaque fois.

Si vous n'êtes pas fan des sonneries sonores, vous pouvez demander à Terminal de clignoter à la place :

enter image description here

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X