如何查看 GNU 屏幕中打开了多少个窗口?

如何查看 GNU 屏幕中打开了多少个窗口?

我正在尝试自动化我的工作流程。我有一个脚本,可以在屏幕上为列表中的每个 IP 打开单独的窗口。想象setupscreen.sh <IP1> <IP2> ...。打开所有窗口后,每个ssh窗口都会连接到正确的服务器并将标题设置hostname为该特定服务器上的。我将窗口 0 保留为我执行其他脚本的实用程序窗口。例如,我向所有窗口发送命令,以 1 秒的间隔循环遍历每个窗口,等等。这一切都很好,但问题是,当我创建它们时,我从脚本中获取窗口计数。如果我关闭一个窗口,这将不再准确。问题是我如何(通过脚本编写)获得我的窗口计数以及如果可能的话剩余的窗口索引。

ps 我需要登录和执行任务的所有集群都有screen,但几乎没有一个集群有tmux,而且很难到达那里。

答案1

screen -Q windows

将打印出带有索引和标题的活动屏幕窗口。

答案2

screen -X msgwait 0 ; screen -Q windows

对我有用。之后您可能需要将 msgwait 恢复为 5 秒默认值。

谢谢@nyr

相关内容