我有一个shell脚本(比如test.sh),它有以下内容:
var1=$(sshpass -p pass ssh user@host "cd folder1; ./test.sh $1 $2;")
echo $var1
我可以看到它正在运行并返回两个值(-1和0)。现在我从perl文件调用它:
my $ssh=system("./Test.sh $arg1 $arg2");
但是在这里我可以看到只显示的值是0. -1没有显示。有人可以帮忙吗?
答案 0 :(得分:0)
我认为test.sh
的输出是字符串 0
或-1
,因为脚本的退出值不能为负数。如果要执行命令并且不想要捕获其输出,则使用Perl的system()
函数。
尝试改为:
my $ssh=`./Test.sh $arg1 $arg2`;