1

На моем Mac OSX 10.9 Mavericks я написал небольшой скрипт bash, чтобы открыть файл журнала для приложения для терминальной игры, которое я пишу, чтобы я мог видеть операторы печати:

#!/bin/bash

printf '\e[3;0;0t'                                  # move
printf '\e[8;35;61'                                 # resize
tail -f ~/Library/Logs/Aaron/logfile--[default].txt # open log file

И я открываю его из другого скрипта, подобного этому (который содержит другие различные вызовы для настройки моей среды разработки, не показанной здесь):

#!/bin/bash

printf '\e[3;681;0t'                     # move
printf '\e[8;35;61t'                     # resize
open -a Terminal.app scripts/view_log.sh # open log file in new window
printf '\e[5t'                           # request focus

Все это прекрасно работает, за исключением того, что когда я отменяю выполнение tail, он автоматически выходит из терминала. Я заметил, что в верхней части терминала есть следующее приглашение:

/Users/aaron/code/c/game2/scripts/view_log.sh ; exit;

Как я могу предотвратить использование терминалом этой команды выхода? Есть ли способ запустить новый Терминал и оставить его для использования в дальнейшем для других команд?

(Кто-то здесь предложил добавить строку $SHELL в конце скрипта, но это было для gnome-терминала Ubuntu)

1 ответ1

0

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

bash

как последняя строка в вашем view_log.sh .

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .