无法在ssh到另一个unix域后继续执行perl脚本
在这里遇到一个需要你们帮助的问题 我正在编写一个将在UNIX机器上执行的perl脚本。在该脚本中,我将执行一个“ssh”操作,以将端口转移到其他Unix域(从ssh到B)。现在的问题是,在我转移到域B之后,我仍然需要从perl脚本执行一些操作(例如:echo Hello World!)。这里的问题是在端口转移到新的unix域之后,“ssh”之后的脚本无法执行,因为脚本仍在“旧域”上。这是解决此问题的方法还是实现相同目标的更好方法?您可以使用打开SSH连接并通过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在其上执行命令 如果你需要更
如果你需要更多的帮助,你必须更具体地解释你想做什么。解决任务的设计可能有误。尝试这样做:
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
模块执行此操作。单击链接并查看文档中的示例。