sshpass命令用于输入带有输入参数的shell脚本

时间:2017-04-04 20:18:37

标签: perl ssh

我在perl脚本中使用以下命令来运行带有输入参数的shell脚本,该参数位于不同服务器的特定文件夹中。

system('sshpass -p password ssh user@hostname "cd /folder1/fol2; ./test.sh $param1 $param2;"');

但似乎没有考虑输入参数。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

手工引用很棘手,让perl为你做:

use Net::OpenSSH;
my $ssh = Net::OpenSSH->new('user@hostname', password => $password);
$ssh->system('cd', '/forlder1/fol2', \\'&&', './test.sh', $param1, $param2)
    or $ssh->die_on_error("Command failed");