我想快速切換不同的gnu屏幕會話(不是windows)。現在我可以從screen -d
中脫離一個會話,並使用screen -r <sessionname>
重新連接到下一個會話,但是在一個命令中沒有辦法做到這一點嗎?像screen -d && screen -r <sessionname>
?在gnu屏幕之間快速切換
謝謝!
我想快速切換不同的gnu屏幕會話(不是windows)。現在我可以從screen -d
中脫離一個會話,並使用screen -r <sessionname>
重新連接到下一個會話,但是在一個命令中沒有辦法做到這一點嗎?像screen -d && screen -r <sessionname>
?在gnu屏幕之間快速切換
謝謝!
這是很容易通過公用腳本來執行:
#!/usr/bin/env bash
set -eu
set -o pipefail
unset CDPATH
: "${BASH:?bash shell is required}"
screen -ls || true
for s in $(screen -ls | tail -n +2 | head -n -2 | sort -R | cut -f2)
do
read -n 1 -s -r -p '[y/n] switch to '"$s"'?' REPLY
if [[ "$REPLY" == "y" ]]
then
screen -DR "$s"
else echo
fi
done
保存你的路徑上爲cycle-screen
,並使其可執行。用例:
There are screens on:
43094.27 (Detached)
47415.12 (Attached)
54922.31 (Detached)
3 Sockets in /var/folders/r5/7_prvssx301dyz4jz2pbky5w0000gn/T/.screen.
[y/n] switch to 54922.31?
y
類型,進入提示命名的屏幕,或其他任何在它跳過。當你離開屏幕時(通過^a^d
,^d
,exit
或其他),你會看到後面屏幕的提示。
不,不幸的是,在GNU屏幕上沒有這樣的事情。