Cum să închideți automat terminalul macOS atunci când un proces iese

Dacă te numeri printre utilizatorii frecvenți ai scripturilor shell în macOS, probabil ai observat că, după execuția unui astfel de script, rămâne deschisă o fereastră Terminal inutilă. Această problemă poate fi remediată ajustând setările aplicației Terminal.

Această metodă este eficientă în special atunci când lansezi un script shell din afara interpretorului bash, cum ar fi printr-un simplu clic în Finder sau prin asocierea unui shortcut personalizat pentru deschiderea programului. În cazul în care rulezi scriptul direct în bash, vei reveni la linia de comandă. Deși poți folosi comanda `killall Terminal` pentru a închide aplicația Terminal dintr-un script, această acțiune va închide toate ferestrele Terminal deschise, ceea ce nu este întotdeauna ideal.

Modificarea comportamentului în Preferințele Profilului

Deschide aplicația Terminal fie din Dock, fie din folderul Aplicații, apoi accesează setările apăsând tastele Command și virgulă simultan.

În fereastra de Setări, navighează la secțiunea „Profiluri”. Profilul implicit, situat în partea superioară, ar trebui să fie deja selectat. În panoul din dreapta, dă clic pe fila „Shell”, apoi pe meniul derulant „Când shell-ul se termină”.

Opțiunea implicită din meniul derulant este „Nu închide fereastra”, dar pentru a rezolva problema, selectează opțiunea „Închide dacă shell-ul a ieșit curat”.

Alternativ, poți alege închiderea ferestrei de fiecare dată, dar în acest caz vei primi un mesaj de eroare dacă procesul se termină cu o stare de ieșire diferită de zero. Este important de reținut că este posibil să fie necesar să finalizezi scriptul în mod explicit cu comanda `exit` pentru a asigura acest comportament în toate situațiile.

Totuși, dacă lansezi scriptul din Finder, comanda `exit` este inclusă automat în script.

Alternativa: iTerm2

iTerm2, o aplicație populară ca alternativă la terminalul standard macOS, închide automat fereastra după execuția unui script shell. Dacă folosești deja iTerm2 ca terminal principal, probabil ai observat că scripturile shell lansate din Finder încă se deschid în aplicația Terminal implicită a sistemului. Aceasta înseamnă că vei întâmpina aceeași problemă, dacă nu configurezi scripturile să se deschidă cu iTerm2.

Poți schimba aplicația cu care se deschid scripturile, dând clic dreapta pe un script în Finder, apoi selectând „Obțineți informații”.

Aici vei găsi un meniu derulant de unde poți alege aplicația cu care se deschide scriptul. Selectează iTerm2 și apasă butonul „Schimbați tot” pentru a aplica această modificare la toate scripturile.

În mod implicit, dacă ai deja o fereastră iTerm2 deschisă, scriptul se va lansa într-un tab nou, și nu într-o fereastră separată, iar tab-ul se va închide automat la finalizarea execuției.