如何从Perl脚本调用shell函数

Gol*_*sar 2 shell perl

说,我有一个像这样的shell脚本:

utils.sh

function getDir
{
    echo "DirName"
}
Run Code Online (Sandbox Code Playgroud)

我想在Perl脚本中使用该函数:

test.pl

`source utils.sh`;

my $dir_name = `getDir`;

print $dir_name;
Run Code Online (Sandbox Code Playgroud)

但这不起作用.任何人都可以建议我如何完成这项工作?基本上我需要从shell函数获取返回值到Perl脚本.

Mat*_*Mat 9

您需要在源相同的shell中调用该函数utils.sh,因此:

my $dir_name = `source utils.sh; getDir`;
chomp($dir_name);
print $dir_name, "\n";
Run Code Online (Sandbox Code Playgroud)