将值从被调用的shell脚本返回到调用perl脚本

时间:2017-04-12 13:02:10

标签: shell

我有一个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没有显示。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

我认为test.sh的输出是字符串 0-1,因为脚本的退出值不能为负数。如果要执行命令并且想要捕获其输出,则使用Perl的system()函数。

尝试改为:

my $ssh=`./Test.sh $arg1 $arg2`;