自动执行SSH和屏幕命令

时间:2016-03-15 15:37:51

标签: linux ssh terminal automation gnu-screen

我有一个带有Web界面的PHP脚本,用于为我自动化的进程提供输入。在这个过程中,我试图使用SSH和屏幕来运行一些命令(都通过PHP的exec发送)。

我目前正在使用以下内容将 echo from script 写入屏幕,但不执行它。我已经尝试添加-ne选项来回显并添加\ n或^ M到最后。我也尝试改变我正在使用的引号类型,但是我无法让代码执行(发送回车)。

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

如何让代码执行?

1 个答案:

答案 0 :(得分:0)

这比我想承认的要花费更长的时间。他们的关键是在命令发送到 stuff 之前添加$,然后使用\ n发送输入按下。

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

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