Comment fermer l'application Terminal à l'aide de la ligne de commande du terminal («quitter») dans macOS Catalina

Aug 16 2020

Je souhaite fermer le terminal à l'aide de la ligne de commande du terminal.

Mais lorsque j'entre dans la exitcommande, le terminal déconnecte uniquement la session mais ne ferme pas la fenêtre de l'application. Existe-t-il un moyen de fermer également l'application.

J'utilise macOS Catalina 10.15.6.

Réponses

17 user3439894 Aug 16 2020 at 10:50

Dans Terminal > Préférences… > Profils > Shell , le paramètre par défaut pour Lorsque le shell se ferme : est: Ne pas fermer la fenêtre

Cela peut être changé en: Fermer la fenêtre

Ensuite, la exit commande fermera la fenêtre .


Modifier pour répondre à la question modifiée:

Si vous souhaitez fermer la fenêtre à l'aide de la exit commande, vous pouvez faire comme suggéré dans la première partie de cette réponse, cependant, si vous souhaitez également fermer automatiquement et gracieusement Terminal , dans le cadre de votre script ou à la place de la exit commande comme indiqué dans votre question, vous pouvez alors effectuer les opérations suivantes:

Créez d'abord une application AppleScript simple à l'aide de l' exemple de code AppleScript suivant dans Script Editor :

tell application "Terminal" to if (busy of windows) does not contain true then quit

L'enregistrer en tant qu'application nommée par exemple QuitTerminal dans le dossier principal Applications .

Après l'avoir enregistré, ouvrez le Terminal , puis ouvrez par exemple QuitTerminal afin de déclencher l'autorisation des autorisations sous Préférences Système > Sécurité et confidentialité > Confidentialité

Une fois que cela est fait, vous pouvez utiliser ce qui suit à la fin de votre script ou à la place de la exit commande :

open -a "OuitTerminal"

Exemple basé sur la commande indiquée dans votre question:

/Users/harikrishna/Desktop/youtube.sh ; open -a "OuitTerminal"

Cela ne fermera le terminal que s'il n'y a aucun processus en cours dans l'une des fenêtres du terminal .

Remarque: Si vous ne voulez pas voir par exemple OuitTerminal show dans le Dock , vous pouvez modifier l' application à l'aide de la commande suivante dans Terminal :

defaults write '/Applications/OuitTerminal.app/Contents/Info.plist' LSUIElement -bool yes

Si vous ne vous souciez d'aucun processus en cours, vous pouvez forcer la fermeture du Terminal à partir du script ou de la commande en utilisant killall Terminalà la place de exit; Cependant, c'est compliqué et je ne recommande pas de l'utiliser sur ce qui est présenté ci-dessus.