tmux 세션을 반복하여 하나씩 처리하는 방법이 있습니까?

tmux 세션을 반복하여 하나씩 처리하는 방법이 있습니까?

tmux를 사용하여 각 세션을 하나씩 표시하는 방법이 있습니까?

  1. 사용자는 눌러서 Ctrlb d분리하여 보기를 완료할 수 있습니다.
  2. 또는 Ctrld해당 세션을 종료하려면 누르세요.
  3. 또는 를 눌러 Ctrlc실행 중인 프로세스를 중지한 다음 분리하거나 종료합니다.

?

답변1

다음과 같이 세션을 반복하는 쉘 스크립트를 작성할 수 있습니다(테스트되지 않음).

#!/bin/bash
tmux ls -F '#{session_id} #{session_name}'|while read i; do
   s=$(echo $i|awk '{print $1}')
   name=$(echo $i|sed 's|^[^ ]* ||')
   printf "session $name? "
   read -n1 k </dev/tty
   echo
   case $k in
   d)
       tmux detach -s$s
       ;;
   D)
       tmux kill-session -t$s
       ;;
   c)
       tmux detach -Ps$s
       ;;
   esac
done

관련 정보