Gibt es eine Möglichkeit, Tmux-Sitzungen zu durchlaufen, um sie einzeln abzuarbeiten?

Gibt es eine Möglichkeit, Tmux-Sitzungen zu durchlaufen, um sie einzeln abzuarbeiten?

Gibt es eine Möglichkeit, mit tmux jede Sitzung einzeln anzuzeigen, so dass

  1. Der Benutzer kann Ctrlb dzum Abnehmen drücken, um die Anzeige zu beenden
  2. oder drücken Ctrld, um die Sitzung zu beenden
  3. oder drücken Sie Ctrlc, um den laufenden Prozess zu stoppen und dann entweder zu trennen oder zu beenden

?

Antwort1

Sie könnten ein Shell-Skript schreiben, das eine Schleife über die Sitzungen durchführt, etwa wie (nicht getestet):

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

verwandte Informationen