将值从调用的shell脚本返回到调用的perl脚本
我有一个shell脚本(比如test.sh),它包含以下内容:将值从调用的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,因为脚本的
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)这只是个人品味:)