1

Я недавно перешел на использование zsh вместо bash в OSX, и мне было интересно, можно ли сделать следующее:

Когда я запускаю свой терминал, я хотел бы запускать различные вкладки, и каждая вкладка должна запускаться по-разному, например, привязывать логи, запускать скрипты ruby и т.д.

В настоящее время мне нужно cmd+n несколько вкладок, а затем вручную запустить каждый процесс. Хотя это не займет много времени, я хотел бы иметь возможность просто запустить свой терминал и запускать эти различные вкладки и автоматически запускать эти команды.

Это возможно?

1 ответ1

2

У меня был похожий вопрос некоторое время назад. Насколько я могу судить, единственный способ сценария действий терминала - это использование applecript (в конце концов, Terminal.app - это приложение с графическим интерфейсом, а AppleScript - предназначенный для Apple способ написания сценариев действий с графическим интерфейсом).

Напишите скрипт, подобный следующему:

tell application "Terminal"
    activate
    do script "cd /path_to/target_dir" in front window
    do script "some_command" in front window
end tell

tell application "System Events" to tell process "Terminal" to keystroke "t" using command down

tell application "Terminal"
    activate
    do script "cd /path_to/next_target_dir" in front window
    do script "some_other_command" in front window
end tell

...etc

Повторите столько раз, сколько необходимо для необходимого количества команд. Обратите внимание, что это для вкладок, которые вы специально запросили, хотя упомянутое нажатие клавиши "cmd-N" открывает новые окна, а не вкладки. Измените "t" на "n" в строке «рассказать приложению" Системные события "...», если вы хотите сделать это с окнами.

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