Lukk macOS Terminal automatisk etter skriptkjøring!

Dersom du er en bruker av shell-skript på macOS, har du muligens opplevd at et unødvendig terminalvindu blir stående etter at skriptet har kjørt ferdig. Dette problemet kan enkelt løses via Terminal-innstillingene.

Denne løsningen er effektiv dersom shell-skriptet startes utenfor bash, for eksempel ved å klikke på det i Finder eller ved bruk av en tilpasset hurtigtast. Hvis ikke, vil du bare bli returnert til ledeteksten. En alternativ metode er å bruke kommandoen `killall Terminal` for å avslutte Terminal-applikasjonen fra et skript, men dette lukker alle åpne Terminal-vinduer, noe som ikke alltid er ønskelig.

Konfigurer atferden i profilinnstillingene

Start Terminal-applikasjonen fra Dock eller Programmer-mappen, og åpne innstillingene ved å trykke på Kommando+, (komma).

I innstillingsvinduet velger du «Profiler»-fanen. Standardprofilen (den øverste) skal være valgt som utgangspunkt. I innstillingene til høyre, klikk på «Shell»-fanen og deretter på rullegardinmenyen ved siden av «Når skallet går ut».

Standardinnstillingen i rullegardinmenyen er «Ikke lukk vinduet», men for å oppnå ønsket effekt velger du «Lukk hvis skallet gikk rent ut.»

Det er også mulig å konfigurere terminalen til å lukke seg hver gang, men da vil du fortsatt se en feilmelding dersom en prosess avsluttes med en utgangsstatus som ikke er null. Husk at det kan være nødvendig å avslutte skriptet eksplisitt med kommandoen `exit` for å sikre at denne atferden fungerer i alle tilfeller.

Selv om du starter skriptet fra Finder, blir `exit`-kommandoen automatisk lagt til i skriptet.

Alternativ: iTerm

iTerm2, et populært alternativ til standard Terminal-applikasjonen for macOS, lukker automatisk vinduet når et shell-skript avsluttes. Hvis du allerede benytter iTerm som din standardterminal, har du kanskje observert at shell-skript som startes fra Finder fremdeles åpnes i Terminal-applikasjonen. Dette betyr at problemet vedvarer med mindre du eksplisitt angir at skript skal åpnes med iTerm.

Du kan endre hvilken applikasjon et skript åpnes med ved å høyreklikke på skriptet i Finder, og deretter velge «Vis info».

I informasjonsvinduet finner du en rullegardinmeny hvor du kan endre hvilken applikasjon skriptet skal åpnes med. Velg iTerm, og trykk «Endre alle» for å anvende denne endringen på alle skript.

Som standard vil iTerm åpne skript i en ny fane i et eksisterende vindu, snarere enn i et separat vindu. Denne fanen vil automatisk lukkes når skriptet er ferdig.