有沒有辦法循環 tmux 會話來一一處理它們?

有沒有辦法循環 tmux 會話來一一處理它們?

有沒有辦法使用 tmux 來一一顯示每個會話,以便

  1. 使用者可以按Ctrlb d分離來完成查看
  2. Ctrld按 退出該會話
  3. 或按Ctrlc停止正在運行的進程,然後分開或退出

答案1

您可以編寫一個循環會話的 shell 腳本,類似於(未測試):

#!/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

相關內容