Как я могу выполнить сценарий оболочки без выхода? (Mac OS X)

4476
Eonil

Я делаю ярлык на моем Dock, который открывает окно терминала с некоторыми предварительно настроенными переменными среды. Я сделал сценарий и перетащил его в док. Он работает хорошо, однако он выходит сразу после завершения. Я хочу начать консольную работу с предварительно сконфигурированными переменными. Как сделать так, чтобы он не выходил после выполнения скрипта?

2
Could you show your script? The obvious ways I tried leave the terminal running. geekosaur 13 лет назад 0
@geekosaur Пользователь, вероятно, использует исполняемый файл `.command` или` .tool`. Открытие такого файла переводится в команду терминала в форме `/path/to/filename.command; выход; `. Daniel Beck 13 лет назад 0

1 ответ на вопрос

3
Drooling_Sheep

Вы можете положить

read -p "Press Return to Close..."

как последняя строка сценария. Это будет держать его, пока вы не нажмете ввод.

Re: ваше редактирование

Если вы вызываете bash(или какую-либо оболочку, которую используете) в качестве последней строки сценария, он должен (как это делается для меня в Linux) оставаться открытым с приглашением.

Ой, извините, мой вопрос был неясен. Я хотел начать консольную работу в точке. Eonil 13 лет назад 1
@Eonil, я отредактировал свой ответ. Это работает для вас? Drooling_Sheep 13 лет назад 0
это работает, но запускает новую оболочку вместо оставшейся открытой оболочки. Предварительно настроенные переменные среды исчезают. Eonil 13 лет назад 0
@Eonil Я проверил это с помощью `export FOO =" Hello World "; bash` как скрипт, затем набрал `echo $ FOO` и он появился. В качестве альтернативы, создайте специальный скрипт bash в вашем скрипте и используйте его как `bash --init-file` для определения вашей среды. Daniel Beck 13 лет назад 0