次のコードがあります。
#!/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 \; \