linux - 自动化 SSH 和 screen 命令

标签 linux ssh terminal automation gnu-screen

我有一个带有 Web 界面的 PHP 脚本,用于为我正在自动化的流程提供输入。在此过程中,我试图包括使用 SSH 和 screen 来运行一些命令(全部通过 PHP 的 exec 发送)。

我目前正在使用以下程序,它正在将 从脚本发送的回显 写入 screen ,但没有执行它。我试过将 -ne 选项添加到 echo 并在末尾添加\n 或 ^M 。我也试过改变我正在使用的引号类型,但我无法执行代码(发送回车)。

ssh -t -t myUser@myDomain.com 'screen -r -d -S -X myScreen stuff "echo -ne sent from script"' 2>&1

如何让代码执行?

最佳答案

这比我承认的时间要长得多。他们的关键是在发送到 stuff 的命令之前添加 $,然后使用\n 发送回车键。

我添加了一个额外的 screen 列表;演示如何在进入 screen 之前发送多个命令。我还添加了一个额外的回显来演示如何向 screen 发送多个命令。

ssh -t -t myUser@myDomain.com "screen -list; screen -r -d -X -S myScreen stuff $'echo here; echo here\n'" 2>&1

关于linux - 自动化 SSH 和 screen 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36015766/

相关文章:

linux - 如果之后使用管道,为什么 wait 会生成 “<pid> is not a child of this shell” 错误?

azure - 如何使用 ssh-keygen 生成顶部有 ---- BEGIN SSH2 PUBLIC KEY ---- 的公钥?

mysql - 尝试通过 ssh 使用 phpmyadmin 连接到远程主机 mysql

linux - 需要在Linux中搜索文件

无法在地址函数参数传递问题上访问内存

SSH连接一直卡在终端

bash - 在终端中获取 fzf 的输出而不执行它

intellij-idea - 使用 ZSH 时 IntelliJ 没有选择环境变量?

ssh - 从Aptana Studio 3终端连接到远程主机

linux - 在 CentOS 7 上构建 C 项目,链接器不能使用 -ldl 、 -lc