【问题标题】:How can I call a shell function from a Perl script?如何从 Perl 脚本调用 shell 函数?
【发布时间】:2012-03-08 04:42:25
【问题描述】:

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

utils.sh

function getDir
{
    echo "DirName"
}

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

test.pl

`source utils.sh`;

my $dir_name = `getDir`;

print $dir_name;

但这不起作用。我怎样才能做到这一点?本质上,我需要从 shell 函数获取返回值到 Perl 脚本。

【问题讨论】:

    标签: perl shell


    【解决方案1】:

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

    my $dir_name = `source utils.sh; getDir`;
    chomp($dir_name);
    print $dir_name, "\n";
    

    【讨论】: