自动化 SSH 和屏幕命令
Automate SSH and screen commands
我有一个带有 Web 界面的 PHP 脚本,用于向我正在自动化的流程提供输入。在此过程中,我尝试将 SSH 和屏幕用于 运行 一些命令(全部通过 PHP 的执行程序发送)。
我目前正在使用以下程序,它正在将 从脚本 发送的回显写入屏幕,但没有执行它。我试过将 -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 发送回车键。
我添加了一个额外的屏幕列表;演示如何在进入屏幕之前发送多个命令。我还添加了一个额外的 echo 来演示如何向屏幕发送多个命令。
ssh -t -t myUser@myDomain.com "screen -list; screen -r -d -X -S myScreen stuff $'echo here; echo here\n'" 2>&1
我有一个带有 Web 界面的 PHP 脚本,用于向我正在自动化的流程提供输入。在此过程中,我尝试将 SSH 和屏幕用于 运行 一些命令(全部通过 PHP 的执行程序发送)。
我目前正在使用以下程序,它正在将 从脚本 发送的回显写入屏幕,但没有执行它。我试过将 -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 发送回车键。
我添加了一个额外的屏幕列表;演示如何在进入屏幕之前发送多个命令。我还添加了一个额外的 echo 来演示如何向屏幕发送多个命令。
ssh -t -t myUser@myDomain.com "screen -list; screen -r -d -X -S myScreen stuff $'echo here; echo here\n'" 2>&1