如何编写bash脚本以重新连接到现有的linux屏幕?
我想编写一个bash脚本来重新连接到现有的linux屏幕,执行一些命令,然后从该屏幕分离。我知道在分离模式下创建一个新的linux屏幕并执行一些命令。但我还没有找到重新连接到现有linux屏幕的方法。试试这个如何编写bash脚本以重新连接到现有的linux屏幕?,linux,bash,Linux,Bash,我想编写一个bash脚本来重新连接到现有的linux屏幕,执行一些命令,然后从该屏幕分离。我知道在分离模式下创建一个新的linux屏幕并执行一些命令。但我还没有找到重新连接到现有linux屏幕的方法。试试这个 user@host:/screen -ls There are screens on: 29229558.pts-5.host (Detached) 46661728.pts-22.host (Detached) user@host:/scre
user@host:/screen -ls
There are screens on:
29229558.pts-5.host (Detached)
46661728.pts-22.host (Detached)
user@host:/screen -r 46661728.pts-22.host
如果您看到(附件)如下所示
user@host:/screen -ls
There are screens on:
29229558.pts-5.host (Detached)
46661728.pts-22.host (Atached)
screen -D -r 46661728.pts-22.host
试试这个
user@host:/screen -ls
There are screens on:
29229558.pts-5.host (Detached)
46661728.pts-22.host (Detached)
user@host:/screen -r 46661728.pts-22.host
如果您看到(附件)如下所示
user@host:/screen -ls
There are screens on:
29229558.pts-5.host (Detached)
46661728.pts-22.host (Atached)
screen -D -r 46661728.pts-22.host
您可以使用-S选项为屏幕会话命名。 示例:
屏幕-dS名称
然后,您可以使用
screen-r NAME
重新连接到该会话。您可以使用-S选项为screen会话命名。
示例:屏幕-dS名称
然后,您可以使用
screen-r NAME
重新连接到该会话以重新连接到屏幕,您必须遵循以下步骤:
在从屏幕上解除连接之前,执行:
STDOUTTERM=$(who -m|awk '{print $2}')
然后你可以把stdout附加到你想要的任何东西上。完成后,要重新连接到标准输出,请执行以下操作:
exec > /dev/$STDOUTTERM
要重新连接到屏幕,您必须遵循以下步骤: 在从屏幕上解除连接之前,执行:
STDOUTTERM=$(who -m|awk '{print $2}')
然后你可以把stdout附加到你想要的任何东西上。完成后,要重新连接到标准输出,请执行以下操作:
exec > /dev/$STDOUTTERM
您可以使用
screen-xexec
向正在运行的屏幕发送命令。有关重定向选项,请参见手册页
screen -X exec ls
或者,您可以使用screen-X paste
将文本发送到正在运行的屏幕的stdin缓冲区,就好像用户已经键入了文本一样。这可以是在交互式shell中运行命令的一种方式
screen -X register a "ls\n"
screen -X paste a
您可以使用
screen-xexec
向正在运行的屏幕发送命令。有关重定向选项,请参见手册页
screen -X exec ls
或者,您可以使用screen-X paste
将文本发送到正在运行的屏幕的stdin缓冲区,就好像用户已经键入了文本一样。这可以是在交互式shell中运行命令的一种方式
screen -X register a "ls\n"
screen -X paste a
不是
screen-r
help吗?@Roman不是,我也试过了,它不起作用如果这是一个脚本,你不能只是附加到屏幕上,然后继续使用其余的脚本。“附加”命令在您分离之前不会真正退出。是否screen-r
help?@Roman不,我也尝试过,它不起作用如果这是针对脚本的,您不能只附加到屏幕,然后继续执行脚本的其余部分。“附加”命令在拆离之前不会实际退出。