我正在尝试自动化我的工作流程。我有一个脚本,可以在屏幕上为列表中的每个 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