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

Bash-скрипт для резервного копирования и восстановления структуры каталогов
Закройте сценарий bash, когда curl получает статус HTTP, отличный от 200
Проблемы с запуском скрипта, как хрон
Как автоматически выполнить скрипт при входе в Ubuntu
Как закодировать дефис в открытой команде терминала Bash?
Пробелы в переменных среды Linux?
Проблема с неправильной командой, введенной в Fish-shell, и ее выводом
Отладчик Python не останавливается на точках останова
Как запустить команду " cat " в фоновом режиме внутри скрипта
Как запустить команду в новом gnome-терминале?
Создание сценария BASH " для " обрабатывать имена файлов с пробелами (или обходной путь)
Как сделать Bash моей оболочки по умолчанию на Ubuntu?
Как изменить приглашение bash?
Как впоследствии выполнить все команды в crontab?
Скрипт Bash, который автоматически меняет раскладки клавиатуры и мыши на основе активного окна

Разделить окно программно с iTerm?

на моей рабочей станции разработки мне часто приходится запускать одни и те же команды каждое утро.

zeus start,zeus server (загрузка rails через zeus),redis-server, и, как и 3 другие.

Я знаю, что многие люди сказали бы, что они работают все время, но я много работаю над своими собственными вещами, и это меня раздражает, когда все они работают, пока я работаю над отдельными проектами rails.

есть ли какой-то расширенный псевдоним, который я могу сделать, который запускает все это с одного команда, в идеале программно разбивая окно (например,⌘-D).

Я использую iTerm2 с oh-my-zsh.

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

спасибо!

5
задан Tallboy
источник

2 ответов

вы можете легко вызвать это от iTerm2 сразу для того чтобы сымитировать отжимать D:

osascript -e 'tell application "System Events" to key code 2 using command down'

для этого нужно запустить программу в фоновом режиме, так как в противном случае вы не сможете запустить osascript:

some-command &
osascript -e '…'

оттуда вы приземлитесь в новом окне iTerm2, поэтому вам нужно использовать write text опция в AppleScript для запуска дальнейших команд оболочки. Подробнее читайте здесь: как настроить AppleScript, чтобы открыть новую вкладку iTerm2 и изменить каталог?

5
отвечен slhck 2017-03-20 10:17:30
источник

ответ здесь немного устарела.. вот пример скрипта, который делает нечто подобное:

tell application "iTerm"
    tell current window
        -- create a tab for background db stuff
        create tab with default profile
        tell current session
            write text "mongod &"
            write text "redis-server &"
        end tell
        close current tab

        -- create tab to run aioc server
        create tab with default profile
        tell current session
            write text "title server"
            write text "aactivate"
            write text "arunserver"
            -- split tab vertically to run scheduler
            split vertically with default profile
        end tell

        -- run scheduler
        tell last session of last tab
            write text "title scheduler"
            write text "aactivate"
            write text "ascheduler"
            -- split tab vertically to run main controller
            split vertically with default profile
        end tell

        -- run main_controller
        tell last session of last tab
            write text "title main_controller"
            write text "aactivate"
            write text "amain_controller"
            -- split tab vertically to run aggregator
            split vertically with default profile
        end tell

        tell last session of last tab
            write text "title aggregator"
            write text "aactivate"
            write text "aggregator"
        end tell




    end tell
end tell
0
отвечен abbood 2017-08-11 13:51:01
источник

Другие вопросы bash iterm2 script terminal zsh