Lancer le script après la fin de la commande

0

Je me trouve à exécuter de longs scripts / commandes et je ne veux pas attendre de le regarder jusqu'à ce qu'il se termine. Par contre, j'aimerais savoir tout de suite quand ça se termine. Je sais que vous pouvez faire le tour avec &&, mais il semble que beaucoup de dactylographie.

Y a-t-il un moyen de le faire en mettant en place un crochet 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.

Raygozag
la source
3
Est-ce & vraiment trop de dactylographie?…
grg

Réponses:

1

Il n'y a pas de hook de post-exécution, mais seulement un hook de pré-exécution: s'il est défini, la valeur de la variable shell PROMPT_COMMANDest exécutée avant l'envoi de l'invite. Voir l' homme bash pour plus de détails.

Une option serait de créer une fonction qui demande au terminal d'émettre un bip après l'exécution de la commande longue afin que vous sachiez quand elle se termine. Une telle fonction serait:

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

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

Utilisez la fonction pour exécuter ces longues commandes comme ceci:

$ r longcommand

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

Si vous n’êtes pas fan des cloches sonores, vous pouvez demander à Terminal de clignoter:

entrez la description de l'image ici

Jaume
la source