1つのウィンドウが分割されたときにすべてのtmuxウィンドウを閉じる方法は?

1つのウィンドウが分割されたときにすべてのtmuxウィンドウを閉じる方法は?

次のコードがあります。

#!/bin/bash

tmux new-session \; \
  send-keys 'ls' C-m \; \
  split-window -h \; \
  send-keys 'ls' C-m \; 

このスクリプトを実行すると、2つのウィンドウが表示されます。すべての項目を閉じるには、Ctrl+D右ペインに1回、左ペインに1回、2回押す必要があります。

Ctrl+D押すと、2つのウィンドウが自動的に閉じるようにするにはどうすればよいですか?

見たのですが、窓の中でどのtrap()ようにキャプチャするのかわかりません。Ctrl+D

ベストアンサー1

分割ウィンドウにトラップを送信するとうまくいくようです。

function close_tmux
{
    tmux kill-server &> /dev/null
}
trap close_tmux EXIT

tmux new-session \; \
  send-keys 'ls' C-m \; \
  split-window -h \; \
  send-keys 'ls; function close_tmux { tmux kill-server ; }; trap close_tmux EXIT' C-m \; \

おすすめ記事