有没有办法循环 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

相关内容