Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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
无法在ssh到另一个unix域后继续执行perl脚本_Perl_Unix_Ssh - Fatal编程技术网

无法在ssh到另一个unix域后继续执行perl脚本

无法在ssh到另一个unix域后继续执行perl脚本,perl,unix,ssh,Perl,Unix,Ssh,在这里遇到一个需要你们帮助的问题 我正在编写一个将在UNIX机器上执行的perl脚本。在该脚本中,我将执行一个“ssh”操作,以将端口转移到其他Unix域(从ssh到B)。现在的问题是,在我转移到域B之后,我仍然需要从perl脚本执行一些操作(例如:echo Hello World!)。这里的问题是在端口转移到新的unix域之后,“ssh”之后的脚本无法执行,因为脚本仍在“旧域”上。这是解决此问题的方法还是实现相同目标的更好方法?您可以使用打开SSH连接并通过Perl在其上执行命令 如果你需要更

在这里遇到一个需要你们帮助的问题

我正在编写一个将在UNIX机器上执行的perl脚本。在该脚本中,我将执行一个“ssh”操作,以将端口转移到其他Unix域(从ssh到B)。现在的问题是,在我转移到域B之后,我仍然需要从perl脚本执行一些操作(例如:echo Hello World!)。这里的问题是在端口转移到新的unix域之后,“ssh”之后的脚本无法执行,因为脚本仍在“旧域”上。这是解决此问题的方法还是实现相同目标的更好方法?

您可以使用打开SSH连接并通过Perl在其上执行命令


如果你需要更多的帮助,你必须更具体地解释你想做什么。解决任务的设计可能有误。

尝试这样做:

ssh <servername> "echo 'hello world'";
ssh“echo'hello world';
还可以使用-t选项检查ssh。要检查此echo命令是否在服务器或本地主机上运行,请尝试其他一些命令,如ls”


注意::脚本终止时,ssh连接将关闭。

我的意思是'ssh'命令在perl脚本中。例如:系统“ssh xxxxxxx”;系统“echo Hello World”;echo部分无法执行,因为在ssh之后,脚本可以继续执行。表示您正在尝试执行echo”你好,世界“在远程服务器上?是的,没错!我认为,在系统ssh连接到远程服务器之后,它无法继续执行以下命令,因为脚本不在远程服务器中。你知道怎么解决这个问题吗?谢谢你的帮助help@user2218886,我提到的模块正好解决了您的问题。您不能使用
system
打开SSH连接,因为您需要通过SSH进行双向通信才能执行命令。
Expect
模块执行此操作。单击链接并查看文档中的示例。