从bash脚本获取perl脚本的输出并退出

时间:2011-04-15 18:48:31

标签: perl bash

从bash脚本如何执行perl脚本获取输出并在值为0时退出? 另外在perl脚本中我如何返回值,我只是返回它还是打印它?

3 个答案:

答案 0 :(得分:5)

#!/bin/bash

perl-script args && exit

如果要继续运行,返回值为$?

请注意,perl脚本返回的值与脚本的输出之间存在区别。要获取脚本的输出,请使用$()运算符:

#!/bin/bash
output=$(perl-script args)

echo The perl script returned $?
echo The output of the script was $output

答案 1 :(得分:2)

要获取返回码,请使用exit功能。例如:

Perl脚本:

if ($success) {
    $return_value = 0;
} else {
    $return_value = 1;
}
exit($return_value);

Bash脚本:

perl scriptname args > outfile && exit

假设您想要退出,如果Perl脚本的返回值为0,并且您希望在outfile中保存Perl脚本的输出。如果返回值不为零,则将其存储在$?中,如果您愿意,可以将该值保存到变量中。

答案 2 :(得分:1)

你的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 $?"