Как я заставляю Mac “.command” файл автоматически выходить после выполнения сценария оболочки?

В моем сценарии оболочки мои последние строки:

...
echo "$l" done
done

exit

Мне установили Терминальное предпочтение на, "Когда оболочка выходит: Закройте окно". Во всех других случаях, когда я ввожу "выход" или "выход из системы", в Терминале, завершениях окна, но для этого ".command" файла (я могу дважды щелкнуть по своему файлу сценария оболочки и выполнениям сценария), вместо того, чтобы закрыть окно, в то время как в коде файла говорится "выход", каковы шоу на экране:

...
$l done
logout

[Process completed]

... и окно остается открытым. Кто-либо знает, как заставить сценарий оболочки выполнять, и затем просто автоматически выходить из Окна терминала на завершении?

Спасибо!

21
задан LOlliffe 19 April 2010 в 18:29
поделиться

3 ответа

Я наконец смог найти ответ на этот вопрос. Подобно ответу cobbal, он вызывает AppleScript, но поскольку это единственное окно, которое я бы открыл, и я хочу запустить свой скрипт как быструю операцию открытия и закрытия, этот более грубый подход отлично подходит для меня.

Внутри самого скрипта «.command», «... добавьте эту строку в свой скрипт в конце»

osascript -e 'tell application "Terminal" to quit' &
exit

ИСТОЧНИК: http://forums.macosxhints.com/archive/index.php/ t-2538.html

25
ответ дан 29 November 2019 в 20:09
поделиться

Для этого есть настройка в приложении Терминал. К сожалению, это относится ко всем окнам Терминала, а не только к тем, которые запускаются через файл .command.

0
ответ дан 29 November 2019 в 20:09
поделиться

для этого можно использовать взлом 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

{{1 }}
0
ответ дан 29 November 2019 в 20:09
поделиться