2016-03-15 128 views
0

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

我目前正在使用以下内容将回显从脚本发送回屏幕,但没有执行它。我试着添加-ne选项来回显并添加\ n或^ M到最后。我也尝试过改变我正在使用的引号类型,但是我无法让代码执行(发送回车)。

ssh -t -t [email protected] 'screen -r -d -S -X myScreen stuff "echo -ne sent from script"' 2>&1 

我该如何去获取代码执行?

回答

0

这花了很长时间才能弄清楚,比我想承认的要多。他们的关键是在发送命令的东西之前添加一个$,然后使用\ n发送输入新闻。

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

ssh -t -t [email protected] "screen -list; screen -r -d -X -S myScreen stuff $'echo here; echo here\n'" 2>&1