В моем сценарии оболочки мои последние строки:
...
echo "$l" done
done
exit
Мне установили Терминальное предпочтение на, "Когда оболочка выходит: Закройте окно". Во всех других случаях, когда я ввожу "выход" или "выход из системы", в Терминале, завершениях окна, но для этого ".command" файла (я могу дважды щелкнуть по своему файлу сценария оболочки и выполнениям сценария), вместо того, чтобы закрыть окно, в то время как в коде файла говорится "выход", каковы шоу на экране:
...
$l done
logout
[Process completed]
... и окно остается открытым. Кто-либо знает, как заставить сценарий оболочки выполнять, и затем просто автоматически выходить из Окна терминала на завершении?
Спасибо!
Я наконец смог найти ответ на этот вопрос. Подобно ответу cobbal, он вызывает AppleScript, но поскольку это единственное окно, которое я бы открыл, и я хочу запустить свой скрипт как быструю операцию открытия и закрытия, этот более грубый подход отлично подходит для меня.
Внутри самого скрипта «.command», «... добавьте эту строку в свой скрипт в конце»
osascript -e 'tell application "Terminal" to quit' &
exit
ИСТОЧНИК: http://forums.macosxhints.com/archive/index.php/ t-2538.html
Для этого есть настройка в приложении Терминал. К сожалению, это относится ко всем окнам Терминала, а не только к тем, которые запускаются через файл .command.
для этого можно использовать взлом applescript:
tell application "Terminal"
repeat with i from 1 to number of windows
if (number of (tabs of (item i of windows) whose tty is "/dev/ttys002")) is not 0 then
close item i of windows
exit repeat
end if
end repeat
end tell
заменив / dev / ttys002
на свой tty