有没有办法使用 tmux 来一一显示每个会话,以便
- 用户可以按Ctrlb d分离来完成查看
- 或Ctrld按 退出该会话
- 或按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