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

/dev / dsp отсутствует в debian и не слышит фестивальных звуков
Проверить, если элемент в массиве в bash
Linux Bash: перемещение / копирование файлов / каталогов по метке времени
Man-страницы для Git Bash в Windows 7
apt-get install не работает в WSL
Как объединить строку, содержимое файла и строку в сценарии bash?
Solaris 9-команда подсчета слов (wc) дает неправильный вывод
Заменить обратный слеш("") с косой черты("/") в переменную в bash
Samba net команда для завершения работы Windows 8 машина [дубликат]
Рекурсивно выполнить команду Linux 'ar'
Как фильтровать вывод команды в OS X
Переименование с помощью exiftool: как бороться с отсутствующими тегами?
Как обрабатывать несколько кавычек в псевдониме (для bash или zsh)
Использование find или grep для поиска имен файлов с акцентированными символами из другой системы кодирования (Windows в Linux)
Почему я получаю "rvm: команда не найдена" на Ubuntu?

Разделить окно программно с 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