我正在使用 screen 来运行应用程序的许多不同实例,并将 session 命名为“app1”、“app2”等。

问题是,如果我在名为“app1”的屏幕之后启动了一个名为“app10”的屏幕,当我输入

screen -r app1

我被附在 app10 屏幕上,因为它是最后一个“匹配”名称 app1 的屏幕。

是否可以摆脱名称匹配并使用确切名称?

由于技术原因,我不想将 app1 更改为 app01。它用于目录名称、自动化等。

最佳答案

正如您正确指出的那样, screen 使用参数值作为前缀。

一个很长的选择是输入:

  screen -r $(basename /var/run/screen/S-$USER/*.app1}

(假设您的套接字位于/var/run/screen 目录中,这是 Debian 系统上的默认目录)

您可以在 .bashrc 文件中创建等效的 bash 函数
   function mscreen() {
      screen -r $(basename /var/run/screen/S-$USER/*$1)
   }

这让你打字
 mscreen app1

恢复您的 session app1 而不是 app10

关于linux - 如何使用确切的 session 名称进入屏幕?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37221429/

10-15 01:32