如何在屏幕会话中执行命令

Bab*_*aga 4 linux gnu-screen enter

我想知道如何在屏幕会话中执行命令。我搜索了一下,发现了这个:

screen -S nameofscreen -X stuff "command"
Run Code Online (Sandbox Code Playgroud)

当我输入此命令时,命令会在屏幕内输入,但不会执行。所以我的问题是如何使用此命令按 Enter 键。

gue*_*ate 5

我会做这样的事情:

screen -S sessionName bash -c 'cmd; exec bash'
Run Code Online (Sandbox Code Playgroud)

它启动一个新会话,执行cmd并启动 shell(否则它会删除该新会话)。

-X将允许您将输入发送到指定的会话——这就是您的命令未执行的原因。要执行它,您需要像保罗建议的那样添加输入符号。可以先用Ctrl+v然后用 来完成Enter。那就会产生那个^M。所以:

screen -S sessionName -X stuff 'cmd^M'
Run Code Online (Sandbox Code Playgroud)

然而,这本身并不会附加一个独立的会话。