tmuxスクリプトは複数のコマンドを起動します

tmuxスクリプトは複数のコマンドを起動します

Bashスクリプトに次のように書くことはできますか?

tmux # Start tmux session.
compass watch /path/to/project1/compass/ # Run the first process.
Ctrl + B, " # Split the pane.
compass watch /path/to/project2/compass/ # Run the second process.
Ctrl + B, D # Exit the session.

ベストアンサー1

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 atmux attachセッションを使用または再接続しますtmux attach-session(同等)。

tmux両方のコマンドが実行されると、セッションは終了します。

おすすめ記事