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

将值从调用的shell脚本返回到调用的perl脚本,shell,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未显示。有人能帮忙吗?我想test.sh的输出是一个字符串0或-1,因为脚本的

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

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

请尝试:

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

我的荣幸!请点击我答案旁边的复选标记来结束这个问题。@GourabSengupta您也可以阅读:我的
qx(some命令)
更具可读性。但(OFC)这只是个人品味:)