tmuxセッションを繰り返して1つずつ処理する方法はありますか?

tmuxセッションを繰り返して1つずつ処理する方法はありますか?

tmuxを使用して各セッションを1つずつ表示する方法はありますか?

  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

おすすめ記事