从bash脚本获取perl脚本的输出并退出
从bash脚本中,如何执行perl脚本以获得输出并在值为=0时退出? 在perl脚本中,如何返回值,是直接返回还是打印 #!/bin/bash perl-script args && exit #!/bin/bash perl脚本args&&exit 如果要继续运行,返回值以$为单位 请注意,perl脚本返回的值与脚本的输出之间存在区别。要获取脚本的输出,请使用$()运算符: #!/bin/bash output=$(perl-script args) echo The perl script returned $? echo The output of the script was $output #!/bin/bash 输出=$(perl脚本参数) 回显返回的perl脚本$? echo脚本的输出为$output从bash脚本获取perl脚本的输出并退出,perl,bash,Perl,Bash,从bash脚本中,如何执行perl脚本以获得输出并在值为=0时退出? 在perl脚本中,如何返回值,是直接返回还是打印 #!/bin/bash perl-script args && exit #!/bin/bash perl脚本args&&exit 如果要继续运行,返回值以$为单位 请注意,perl脚本返回的值与脚本的输出之间存在区别。要获取脚本的输出,请使用$()运算符: #!/bin/bash output=$(perl-script args) echo The perl scrip
要获取返回代码,请使用退出功能。例如: Perl脚本:
if ($success) {
$return_value = 0;
} else {
$return_value = 1;
}
exit($return_value);
Bash脚本:
perl scriptname args > outfile && exit
这是假设如果Perl脚本的返回值为0,并且希望将Perl脚本的输出保存在
outfile
中,则希望退出。如果返回值不是零,则它存储在$?
中,如果您愿意,可以将该值保存到变量中。您的perl脚本:foo.pl
#!/usr/bin/perl
# do something and then
exit 1;
在bash脚本foo.sh中:
#!/bin/bash
# do something and then call perl script
perl foo.pl
# check return value using $?
echo "perl script returned $?"
1并不意味着成功返回值,顺便说一句,
退出1
需要分号。谢谢添加缺少的
和correct1
显然并不意味着一个成功的值,它只是一个示例。从perl脚本中,我是否打印“0”或返回“0”,以及如何在$return中获取perl值_value@user这就是Perl脚本。使用exit
函数从脚本返回一个值。您可以像通常在Perl中一样,将任何数字绑定到$return\u value
。我在perl示例中添加了更多内容以澄清问题。实际上,如果返回的值不是0,我希望它继续运行在bash中添加&&exit时未找到I get:commandscript@user391986如果cmd返回零,“cmd&&exit”将退出,如果cmd返回任何其他值,它将继续运行。不确定为什么找不到命令。