Odpowiedzi:
tmux \
new-session 'compass watch /path/to/project1/compass/' \; \
split-window 'compass watch /path/to/project2/compass/' \; \
detach-client
new-session
Komenda (która tworzy nową tmux
sesję) i split-window
komenda (która dzieli bieżącego okna na dwa panele) w tmux
trwa opcjonalnych poleceń powłoki do uruchomienia. detach-client
Robi to oczywiste na końcu.
Jeśli chcesz podzielić poziomo (dwa panele obok siebie), użyj split-window -h
powyższego polecenia.
Wysyłając wiele tmux
poleceń tmux
, musisz je rozdzielić ;
. W ;
musi być chroniony od zbiornika przytoczyć / ucieczki (to ';'
, ";"
czy \;
), aby przerwać powłokę interpretacji jako koniec tmux
polecenia.
Podzieliłem to wszystko na osobne linie dla czytelności. Jeśli robisz to w skrypcie (który polecam), upewnij się, że po finale \
w każdym wierszu nie ma nic .
Dołącz ponownie do sesji za pomocą tmux a
, tmux attach
lub tmux attach-session
(wszystkie są równoważne).
tmux
Sesja zakończy raz oba polecenia zakończeniu wykonywania.
Nie działało to dla mnie (próbowałem zrobić coś takiego jak „ls -la”). Co to było:
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
To pozwoliło mi uruchomić dość ogólne rzeczy i chociaż wygląda brzydko, jest całkiem funkcjonalne.
Zostawiam to tutaj, na wypadek, gdyby inni szukali tego samego.