我有一个带有 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/