J'ai écrit un script .command
qui, lorsque je le lance, se ferme immédiatement et c'est trop rapide pour que je puisse voir ce qui se passe. Comment le maintenir ouvert ?
Réponse
Trop de publicités?Lorsque vous double-cliquez sur un .command
dans le Finder, le Terminal s'ouvre et exécute /chemin/vers/votre.command ; exit;
L' exit
à la fin ferme l'interpréteur de commandes, et vous avez défini les préférences du Terminal pour fermer la fenêtre lorsque cela se produit.
- Allez dans Terminal -> Préférences -> Paramètres -> Thème par défaut -> Shell -> Lorsque le shell se termine : et choisissez "Ne fermez pas la fenêtre".
Alternativement, si vous ne voulez pas modifier les préférences du Terminal :
- Si votre commande renvoie quelque chose sur STDOUT que vous voulez lire après la fin de la commande, vous pouvez rediriger la sortie de la commande à travers
less
, ce qui laissera la fenêtre ouverte vous permettant de faire défiler la sortie avec les touches de direction jusqu'à ce que vous la quittiez avecq
. Ajoutez simplement|less
à la fin de la commande dans votre script.
MODIFICATION :
-
J'ai trouvé une option plus flexible. Si rediriger quelque chose à travers
less
n'est pas pratique pour une raison quelconque, ou si votre script est trop compliqué, vous pouvez ajouter une dernière commande qui attend une entrée de l'utilisateur avant de se terminer. J'ai utilisé$ read -n 1 -p "Terminé. Appuyez sur une touche pour quitter. "
(En attente d'un caractère d'entrée tout en affichant l'invite.)