回答:
tmux \
new-session 'compass watch /path/to/project1/compass/' \; \
split-window 'compass watch /path/to/project2/compass/' \; \
detach-client
new-session
(新規作成コマンドtmux
セッション)とsplit-window
(2つのペインに現在のウィンドウを分割する)コマンドでtmux
実行するには、オプションのシェルコマンドを取ります。detach-client
最後に明白なことを行います。
水平分割(2つのペインを横に並べる)が必要な場合は、 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
これにより、かなり汎用的なものを実行でき、見苦しくなりますが、かなり機能的です。
他の人が同じものを探している場合に備えて、ここに置いておきます。