Bash 恢复上一屏幕(如果有)

Bash 恢复上一屏幕(如果有),bash,piping,Bash,Piping,基本上,我需要有一个脚本,检查是否有一个屏幕作为“服务器人”运行。 如果它存在,则恢复它,否则创建新的 所以我想解析“sceen-ls”并检查是否有一个名为“serverman”的 这是“screen-ls”输出 我正在修改一个命令,可以通过管道解析它并搜索“服务员”这个词。 如果有任何设置为alreadyrunning=1,则将其设置为0,但我不知道要使用什么命令以及如何使用,是吗?我粘贴了一个工作脚本,因为我的旧MacBook上有一个旧的屏幕,可以提供不同的输出。您应该能够轻松地修改它(但我

基本上,我需要有一个脚本,检查是否有一个屏幕作为“服务器人”运行。 如果它存在,则恢复它,否则创建新的

所以我想解析“sceen-ls”并检查是否有一个名为“serverman”的

这是“screen-ls”输出

我正在修改一个命令,可以通过管道解析它并搜索“服务员”这个词。
如果有任何设置为alreadyrunning=1,则将其设置为0,但我不知道要使用什么命令以及如何使用,是吗?

我粘贴了一个工作脚本,因为我的旧MacBook上有一个旧的
屏幕,可以提供不同的输出。您应该能够轻松地修改它(但我建议切换到
tmux
,这样更好)


您已经可以使用现有的
屏幕
选项执行此操作,而无需显式检查命名会话
screen-D-R serverman
将附加到
serverman
(如果存在),但将创建它并附加到它(如果不存在)。

您可能不需要解析。检查命令行参数。我会看看如何使用它,tanks。好的,可能已经解决了,tanks:)不完全是我想要的,但无论如何都很有趣+1.
There are screens on:
    7423.212        (03/09/14 08:48:58)     (Detached)
    7411.1as        (03/09/14 08:48:49)     (Detached)
2 Sockets in /var/run/screen/S-root.
# created sessions with
# tmux new -s hello
# tmux new -s world

SEARCHING="hello"

found_session=$(tmux ls 2> /dev/null | perl -ne "if (/(^${SEARCHING}):/) {print \"\$1\"}" | head -n1)

if [ -z "$found_session" ]; then
    echo Session not found, creating new.
    tmux new -s $SEARCHING
else
    echo Found $found_session, attaching.
    tmux a -t $found_session
fi