Gnu-Screen

如何重新連接到“螢幕”會話或啟動新命令

  • February 14, 2017

自從我開始使用screen啟動文本模式(控制台)電子郵件客戶端(即alpine)以來,我從未因網路斷開而失去部分書面電子郵件。很有用。

但是現在啟動電子郵件客戶端有點涉及:

  1. 檢查是否有舊會話screen -list
  2. 根據上一步:
  • 如果有,請重新連接screen -U -r <number>
  • 如果沒有,請啟動電子郵件客戶端screen -U alpine

如何簡化這些步驟,以便我只能執行簡單命令(簡單腳本),即start_or_reconnect alpine?我們可以假設如果有多個活動會話是錯誤的,或者只使用第一個……

使用顯式會話名稱(-S選項),並用於-RR重新附加到現有會話或在沒有會話時創建一個。

alias m='screen -S alpine -d -RR alpine'

快速而愚蠢:

#!/bin/sh
ARG=`screen -list | grep Detached | awk '{print $1}'`
if [ -z "$ARG" ]; then
   screen -U alpine
else
   screen -U -r $ARG
fi

引用自:https://unix.stackexchange.com/questions/345011