Als je een fan bent van shell-scripts in macOS, heb je waarschijnlijk gemerkt hoe het uitvoeren van een script je een nutteloos Terminal-venster oplevert nadat het is voltooid. U kunt dit oplossen via de Terminal-instellingen.
Deze methode werkt alleen als u een shellscript buiten bash start, bijvoorbeeld door erop te klikken in Finder of door een aangepaste sneltoets in te stellen om het programma te openen. Anders keert u gewoon terug naar de opdrachtprompt. U kunt altijd killall Terminal
om de Terminal-app zichzelf te laten sluiten vanuit een script, maar daarmee wordt elk geopend Terminal-venster gesloten, dus het is niet ideaal.
Wijzig dit gedrag in de profielinstellingen
Open de Terminal-app vanuit het Dock of uw map Toepassingen en open vervolgens de instellingen door op Command + Comma te drukken.
Schakel in het venster Instellingen over naar het tabblad Profielen. Het standaardprofiel (het profiel bovenaan) moet standaard worden geselecteerd. Klik in de instellingen aan de rechterkant op het tabblad “Shell” en klik vervolgens op het vervolgkeuzemenu “Wanneer de shell wordt afgesloten”.
Het vervolgkeuzemenu is standaard ingesteld op ‘Sluit het venster niet’, maar u wilt dit wijzigen in ‘Sluiten als de shell netjes is afgesloten’.
U kunt het ook elke keer sluiten, maar op deze manier krijgt u nog steeds een foutmelding als een proces wordt afgesloten met een niet-nulstatus. Houd er rekening mee dat u het script mogelijk expliciet moet afsluiten met de exit
commando om dit gedrag in alle gevallen te krijgen.
Als u echter start vanuit Finder, wordt de exitopdracht automatisch aan het script toegevoegd.
U kunt ook iTerm gebruiken
iTerm2, een populaire Terminal-vervanging voor macOS, zal automatisch het venster sluiten wanneer een shellscript wordt afgesloten. Als je iTerm al als je standaardterminal gebruikt, is het je misschien opgevallen dat shellscripts die vanuit Finder zijn gestart, nog steeds worden geopend met de stock Terminal-app. Dit betekent dat je nog steeds hetzelfde probleem hebt, tenzij je scripts instelt om te openen met iTerm.
U kunt wijzigen in welke applicatiescripts zich openen door met de rechtermuisknop op het script in Finder te klikken en vervolgens ‘Info ophalen’ te selecteren.
Er zal een vervolgkeuzelijst zijn om te wijzigen waarmee dit script wordt geopend. Zet het op iTerm en druk op “Alles wijzigen” om deze wijziging op elk script toe te passen.
Als je al een iTerm-venster hebt geopend, wordt het standaard op een apart tabblad geopend in plaats van een apart venster, en het tabblad wordt automatisch gesloten als het klaar is.