Како аутоматски затворити мацОС терминал када процес изађе

Ako često koristite shell skripte na macOS-u, možda ste primetili da nakon izvršenja skripte ostaje otvoren nepotreban prozor terminala. Ovo se može lako rešiti putem podešavanja samog terminala.

Ovaj način funkcioniše kada pokrećete shell skripte izvan samog bash okruženja, recimo klikom na njih u Finderu ili korišćenjem prečice na tastaturi. Ako skriptu pokrećete iz bash-a, jednostavno ćete biti vraćeni na komandnu liniju. Možete koristiti i komandu killall Terminal kako biste zatvorili aplikaciju Terminal, ali to će zatvoriti sve otvorene prozore terminala, što nije idealno rešenje.

Promena ponašanja u podešavanjima profila

Otvorite aplikaciju Terminal iz Dock-a ili foldera Applications, a zatim otvorite podešavanja pritiskom na tastere Command + zarez (Command + ,).

U prozoru sa podešavanjima, pređite na karticu „Profili“. Podrazumevani profil bi trebalo da bude već izabran. U desnom delu prozora kliknite na karticu „Shell“, a zatim na padajući meni „Kada ljuska izađe“.

Padajući meni je po defaultu postavljen na opciju „Ne zatvaraj prozor“. Potrebno je da izaberete opciju „Zatvori ako je ljuska čisto izašla“.

Možete odabrati i opciju da se prozor terminala uvek zatvara, ali u tom slučaju ćete dobiti poruku o grešci ako proces izađe sa izlaznim statusom koji nije nula. Imajte na umu da je u nekim slučajevima potrebno eksplicitno koristiti komandu exit u skripti kako bi se osiguralo ovo ponašanje.

Međutim, kada pokrećete skripte iz Finder-a, komanda exit se automatski dodaje na kraju skripte.

Alternativno rešenje: korišćenje iTerm2

iTerm2, popularna zamena za standardni macOS terminal, automatski zatvara prozor nakon što se skripta završi. Ako već koristite iTerm2 kao svoj podrazumevani terminal, možda ste primetili da se shell skripte pokrenute iz Finder-a i dalje otvaraju pomoću standardne aplikacije Terminal. To znači da ćete i dalje imati isti problem, osim ako ne podesite da se skripte otvaraju koristeći iTerm2.

Možete promeniti aplikaciju koja se koristi za otvaranje skripti tako što ćete desnim klikom na skriptu u Finder-u izabrati opciju „Get Info“ (Dobij informacije).

Otvoriće se padajući meni pomoću kojeg možete promeniti aplikaciju koja otvara skriptu. Postavite ga na iTerm2, a zatim kliknite na „Promeni sve“ kako biste ovu promenu primenili na sve skripte.

Ako već imate otvoren prozor iTerm2, skripta će se podrazumevano otvoriti u novoj kartici umesto u zasebnom prozoru, i ta kartica će se automatski zatvoriti kada se izvršavanje skripte završi.