我在perl脚本中使用以下命令来运行带有输入参数的shell脚本,该参数位于不同服务器的特定文件夹中。
system('sshpass -p password ssh user@hostname "cd /folder1/fol2; ./test.sh $param1 $param2;"');
但似乎没有考虑输入参数。有人可以帮忙吗?
答案 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");