Ответы:
tmux \
new-session 'compass watch /path/to/project1/compass/' \; \
split-window 'compass watch /path/to/project2/compass/' \; \
detach-client
Команда new-session
(которая создает новый tmux
сеанс) и split-window
команда (которая разбивает текущее окно на две панели) tmux
принимают дополнительные команды оболочки для запуска. The detach-client
делает очевидное в конце.
Если вы хотите горизонтальное разделение (две панели рядом), используйте split-window -h
команду выше.
При отправке нескольких tmux
команд tmux
вам необходимо разделить их на ;
. Эти ;
потребности должны быть защищены от оболочки процитировать / избежать его ( ';'
, ";"
или \;
), чтобы остановить оболочку интерпретировать его как конец tmux
команды.
Я разбил все это на отдельные строки для удобства чтения. Если вы делаете это в скрипте (который я рекомендую), убедитесь, что после финала \
в каждой строке ничего нет .
Присоедините к сеансу с помощью tmux a
, tmux attach
или tmux attach-session
(все они эквивалентны).
tmux
Сессии закончится , как только обе команды закончили выполнение.
Это не сработало для меня (я пытался сделать что-то вроде 'ls -la'). Что было:
tmux new-session -d bash
tmux split-window -h bash
#sends keys to first and second terminals
tmux send -t 0:0.0 "<my-first-command>" C-m
tmux send -t 0:0.1 "<my-second-command>" C-m
tmux -2 attach-session -d
Это позволило мне запускать довольно общие вещи, и хотя это выглядит некрасиво, это довольно функционально.
Просто оставьте это здесь на случай, если другие люди ищут то же самое.
Источник: https://gist.github.com/kizzx2/4739236