Antworten:
tmux \
new-session 'compass watch /path/to/project1/compass/' \; \
split-window 'compass watch /path/to/project2/compass/' \; \
detach-client
Der new-session
Befehl (der eine neue tmux
Sitzung erstellt) und der split-window
Befehl (der das aktuelle Fenster in zwei Bereiche unterteilt) in tmux
erfordern optionale Shell-Befehle. Das detach-client
macht das Offensichtliche am Ende.
Wenn Sie eine horizontale Aufteilung wünschen (zwei Fenster nebeneinander), verwenden Sie split-window -h
den obigen Befehl.
Wenn Sie mehrere tmux
Befehle an senden , müssen tmux
Sie diese durch trennen ;
. Die ;
Anforderungen aus der Hülle geschützt werden , indem unter Angabe / Entkommen ( ';'
, ";"
oder \;
), aus der Schale zu stoppen , es als das Ende des Interpretieren tmux
Befehls.
Ich habe das Ganze zur besseren Lesbarkeit in separate Zeilen aufgeteilt. Wenn Sie dies in einem Skript tun (was ich empfehle), stellen Sie sicher, dass \
in jeder Zeile nach dem Finale nichts steht .
Verbinden Sie die Sitzung erneut mit tmux a
, tmux attach
oder tmux attach-session
(dies sind alle gleichbedeutend).
Die tmux
Sitzung wird beendet, sobald beide Befehle ausgeführt wurden.
Das hat bei mir nicht funktioniert (ich habe versucht, so etwas wie 'ls -la' zu machen). Was tat, war:
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
Dadurch konnte ich ziemlich allgemeines Material ausführen und obwohl es hässlich aussieht, ist es ziemlich funktional.
Lassen Sie es einfach hier, falls andere Leute das Gleiche suchen.