оболочка osx завершается после использования

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

Так, я выполняю его с:

. script

Однако теперь, когда сценарий завершается, целое окно завершается. Существует ли способ зафиксировать это?

Моя оболочка является ударом.

1
задан 29.10.2010, 20:04

2 ответа

Существует два способа исправить это в Mac

A> Пойдите на ваше усмотрение для Терминала, [Общий] Выбор, и снимите флажок, который говорит, "Закрывают окно, если оболочка выходит чисто".

B> Укажите на свой любимый текстовый редактор на ~/Library/Preferences/com.apple. Terminal.plist

Найдите строки:

 < key>ShellExitAction< /key>
< integer>1< /integer>

измените 1 на 2 и перезапустите терминальное приложение..

B является в основном тем же как A, но сделанный вручную.

0
ответ дан 12.12.2019, 08:37

Делает script содержите exit оператор? Помните, что точка (определение источника) выполняет Ваш код в текущей оболочке. Таким образом, если это имеет exit, Ваши текущие выходы оболочки. Можно хотеть проверить сценарий и изменить любого exit кому: return.

Вы можете обнаруживать быть полученным (где Вы хотели бы сделать return) и быть выполненным (где можно хотеть exit)

[[ $BASH_SOURCE != $0 ]] && echo 'running sourced ...'
5
ответ дан 12.12.2019, 08:37

Теги

Похожие вопросы