Så här stänger du macOS-terminalen automatiskt när en process avslutas

Om du är ett fan av skalskript i macOS, har du förmodligen märkt hur att köra ett kommer att lämna dig med ett värdelöst terminalfönster efter att det är klart. Du kan fixa detta från terminalinställningarna.

Den här metoden fungerar bara om du startar ett skalskript utanför bash, till exempel genom att klicka på det i Finder eller genom att ställa in en anpassad snabbtangent för att öppna programmet. Annars kommer du bara att tas tillbaka till kommandotolken. Du kan alltid använda killall Terminal för att få Terminal-appen att stänga sig inifrån ett skript, men det kommer att stänga alla öppna terminalfönster, så det är inte idealiskt.

Ändra detta beteende i profilinställningarna

Öppna Terminal-appen från Dock eller mappen Program och öppna sedan inställningarna genom att trycka på Kommando+Komma.

I fönstret Inställningar byter du till fliken Profiler. Standardprofilen (den överst) ska vara vald som standard. I inställningarna till höger klickar du på fliken ”Shell” och klickar sedan på rullgardinsmenyn ”När skalet går ut”.

Rullgardinsmenyn är som standard ”Stäng inte fönstret”, men du vill ändra detta till ”Stäng om skalet lämnades rent.”

Du kan också stänga den varje gång, men på detta sätt får du fortfarande ett felmeddelande om en process avslutas med en utgångsstatus som inte är noll. Tänk på att du kan behöva avsluta skriptet explicit med exit-kommandot för att få detta beteende i alla fall.

Men om du startar från Finder läggs exit-kommandot automatiskt till skriptet.

Alternativt, använd iTerm

iTerm2, en populär terminalersättning för macOS, stänger automatiskt fönstret när ett skalskript avslutas. Om du redan använder iTerm som din standardterminal kanske du har märkt att skalskript som startas från Finder fortfarande är öppna med terminalappen. Det betyder att du fortfarande kommer att ha samma problem om du inte ställer in skript för att öppna med iTerm.

Du kan ändra vilka applikationsskript som öppnas i genom att högerklicka på skriptet i Finder och sedan välja ”Hämta info.”

Det kommer att finnas en rullgardinsmeny för att ändra vad det här skriptet öppnas med. Ställ in den på iTerm och tryck på ”Ändra alla” för att tillämpa denna ändring på varje skript.

Som standard, om du redan har ett iTerm-fönster öppet, startas det på en separat flik istället för ett separat fönster, och fliken stängs automatiskt när det är klart.