使用 Perl 的 qx 通过 rsh 访问 运行 远程命令的退出代码
Accessing exit code of running a remote command through rsh, using Perl's qx
我正在通过 rsh 使用 qx() 运行 远程 windows 机器上的命令。我需要访问远程命令的退出代码。我按照这里的说明“”,但是使用 $?
总是 returns 0 - 看起来它是 rsh 命令的退出代码而不是命令 运行 通过rsh
.
然而,当我使用 ssh 时,$?
实际上 return 是命令 运行 到 ssh
的退出代码。
那么,如何使用 qx 在远程 windows 机器上通过 rsh 访问命令 运行 的 return 值?
qx(rsh -l $username $host perl a.pl); # say I run a perl script on remote machine
my $returnValue = # need the return value of 'perl a.pl' here
这是将退出代码保存在临时文件中的解决方法(在您无法使用 ssh
的情况下):
my $output = qx(rsh -l $username $host "perl a.pl; echo \$? > exitcode.txt");
my $exitcode = qx(rsh -l $username $host "cat exitcode.txt");
我正在通过 rsh 使用 qx() 运行 远程 windows 机器上的命令。我需要访问远程命令的退出代码。我按照这里的说明“$?
总是 returns 0 - 看起来它是 rsh 命令的退出代码而不是命令 运行 通过rsh
.
然而,当我使用 ssh 时,$?
实际上 return 是命令 运行 到 ssh
的退出代码。
那么,如何使用 qx 在远程 windows 机器上通过 rsh 访问命令 运行 的 return 值?
qx(rsh -l $username $host perl a.pl); # say I run a perl script on remote machine
my $returnValue = # need the return value of 'perl a.pl' here
这是将退出代码保存在临时文件中的解决方法(在您无法使用 ssh
的情况下):
my $output = qx(rsh -l $username $host "perl a.pl; echo \$? > exitcode.txt");
my $exitcode = qx(rsh -l $username $host "cat exitcode.txt");