Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 自动化SSH和screen命令_Linux_Ssh_Terminal_Automation_Gnu Screen - Fatal编程技术网

Linux 自动化SSH和screen命令

Linux 自动化SSH和screen命令,linux,ssh,terminal,automation,gnu-screen,Linux,Ssh,Terminal,Automation,Gnu Screen,我有一个带有web界面的PHP脚本,用于向我正在自动化的流程提供输入。在这个过程中,我尝试使用SSH和screen来运行一些命令(都是通过PHP的exec发送的) 我目前正在使用下面的脚本,它正在将echo从脚本发送到屏幕,但没有执行它。我已尝试将-ne选项添加到echo,并将\n或^M添加到末尾。我也尝试过改变我使用的引号的类型,但是我在执行代码时遇到了问题(发送enter) 我该如何执行这些代码呢?我花了很长时间才弄明白,这比我想承认的要长得多。他们的键是在发送到stuff的命令之前添加$,

我有一个带有web界面的PHP脚本,用于向我正在自动化的流程提供输入。在这个过程中,我尝试使用SSH和screen来运行一些命令(都是通过PHP的exec发送的)

我目前正在使用下面的脚本,它正在将echo从脚本发送到屏幕,但没有执行它。我已尝试将-ne选项添加到echo,并将\n或^M添加到末尾。我也尝试过改变我使用的引号的类型,但是我在执行代码时遇到了问题(发送enter)


我该如何执行这些代码呢?

我花了很长时间才弄明白,这比我想承认的要长得多。他们的键是在发送到stuff的命令之前添加$,然后使用a\n发送enter键

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

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