if [[ -z $(screen -list |grep tached) ]];then screen -dRU terminal;elif [[ -n $(screen -list |grep Detached) ]];then screen -dRU $(screen -list|grep Detached|tail -1|awk -F " " '{print $1}'|awk -F "." '{print $2}');else screen -dRU $(screen -list|grep -m 1 Attached|awk -F " " '{print $1}'|awk -F "." '{print $2}')-1;fi
说明: 1 ,没有,创建新的 2 ,有死,链接死的 3 ,否则,链接活着的-1
1
omaidb 2023-05-31 15:13:49 +08:00
分享一个优化版的。
#!/usr/bin/env bash # 检查是否存在 detached(断开)或 attached(连接)状态的 screen 会话 if session=$(screen -list | grep -i '\b(detached|attached)\b'); then # 提取最后一个 screen 会话的 ID 并连接到其中 screen -dRU $(echo "$session" | tail -n1 | awk '{print $1}' | cut -d '.' -f2) else # 不存在任何 screen 会话,创建一个新的并连接到其中 screen -dRU terminal fi |