하나의 창이 분리될 때 모든 tmux 창을 닫는 방법은 무엇입니까?

하나의 창이 분리될 때 모든 tmux 창을 닫는 방법은 무엇입니까?

다음 코드가 있습니다.

#!/bin/bash

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

이 스크립트를 실행하면 두 개의 창이 나타납니다. 모든 항목을 닫으려면 Ctrl+D오른쪽 창에 한 번, 왼쪽 창에 한 번, 두 번 눌러야 합니다.

Ctrl+D누르면 두 창이 자동으로 닫히도록 하려면 어떻게 해야 합니까 ?

봤는데 창 안쪽에서 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 \; \

관련 정보