使用特定会话的屏幕命令脚本?

Posted

技术标签:

【中文标题】使用特定会话的屏幕命令脚本?【英文标题】:Screen command script that uses a specific session? 【发布时间】:2021-11-21 04:42:12 【问题描述】:

我希望在 某些 命名会话中执行命令。

目前使用screen -dmS TestScreen bash -c * 这可行,但即使我已经有一个名为 TestScreen 的会话,它也会启动一个新会话。

有没有办法让它在已经存在的 TestScreen 会话中执行命令?谷歌建议-x 可能工作,但我无法让它工作。 有什么建议?谢谢。

【问题讨论】:

【参考方案1】:

screen 会话中要执行的命令之前需要stuff 命令。请参阅下面的测试,附带会话test2

~$ screen -list
There are screens on:
    11133.test2     (Attached)
    8288.test1      (Attached)
~$ screen -S test2 -p 0 -X stuff "ls -l^M"
~$ screen -list
There are screens on:
    11133.test2     (Attached)
    8288.test1      (Attached)

在这里找到解决方案:https://raymii.org/s/snippets/Sending_commands_or_input_to_a_screen_session.html

【讨论】:

以上是关于使用特定会话的屏幕命令脚本?的主要内容,如果未能解决你的问题,请参考以下文章

在启动脚本中使用屏幕

从另一个屏幕会话中启动屏幕会话

如何在Linux中使用Shell脚本终止用户会话?

屏幕 - 等待屏幕终止

在启动的 telnet 会话中使用期望脚本

在 shell 脚本中编写 ghci 会话