Si vous êtes un fan des scripts shell sous macOS, vous avez probablement remarqué à quel point en exécuter un vous laissera avec une fenêtre de terminal inutile une fois terminé. Vous pouvez résoudre ce problème à partir des paramètres du terminal.
Cette méthode ne fonctionne que si vous lancez un script shell en dehors de bash, par exemple en cliquant dessus dans le Finder ou en définissant un raccourci clavier personnalisé pour ouvrir le programme. Sinon, vous serez simplement ramené à l’invite de commande. Vous pouvez toujours utiliser killall Terminal pour que l’application Terminal se ferme à partir d’un script, mais cela fermera chaque fenêtre Terminal ouverte, donc ce n’est pas idéal.
Modifier ce comportement dans les paramètres du profil
Ouvrez l’application Terminal à partir du Dock ou de votre dossier Applications, puis ouvrez les paramètres en appuyant sur Commande + virgule.
Dans la fenêtre Paramètres, passez à l’onglet Profils. Le profil par défaut (celui du haut) doit être sélectionné par défaut. Dans les paramètres sur la droite, cliquez sur l’onglet «Shell», puis sur le menu déroulant «Quand le shell sort».
Le menu déroulant est défini par défaut sur « Ne fermez pas la fenêtre », mais vous voudrez le changer en « Fermer si le shell s’est terminé proprement ».
Vous pouvez également le fermer à chaque fois, mais de cette façon, vous obtiendrez toujours un message d’erreur si un processus se termine avec un statut de sortie différent de zéro. Gardez à l’esprit que vous devrez peut-être quitter le script explicitement avec la commande exit pour obtenir ce comportement dans tous les cas.
Cependant, si vous lancez à partir du Finder, la commande exit est automatiquement ajoutée au script.
Sinon, utilisez iTerm
iTerm2, un remplacement de Terminal populaire pour macOS, ferme automatiquement la fenêtre lorsqu’un script shell se termine. Si vous utilisez déjà iTerm comme terminal par défaut, vous avez peut-être remarqué que les scripts shell lancés à partir du Finder s’ouvrent toujours avec l’application Terminal standard. Cela signifie que vous aurez toujours le même problème à moins que vous ne définissiez des scripts à ouvrir avec iTerm.
Vous pouvez modifier les scripts d’application qui s’ouvrent en cliquant avec le bouton droit sur le script dans le Finder, puis en sélectionnant «Obtenir des informations».
Il y aura une liste déroulante pour changer ce avec quoi ce script s’ouvre. Réglez-le sur iTerm et appuyez sur «Tout changer» pour appliquer ce changement à chaque script.
Par défaut, si vous avez déjà une fenêtre iTerm ouverte, elle se lancera dans un onglet séparé plutôt que dans une fenêtre séparée, et l’onglet se fermera automatiquement une fois terminé.