Как я могу вызвать функцию оболочки из сценария Perl - PullRequest
1 голос
/ 16 февраля 2012

Скажем, у меня есть такой сценарий оболочки:

utils.sh

function getDir
{
    echo "DirName"
}

Я хочу использовать эту функцию из сценария Perl:

test.pl

`source utils.sh`;

my $dir_name = `getDir`;

print $dir_name;

Но это не работает.Кто-нибудь может подсказать, как мне это сделать?По сути, мне нужно получить возвращаемое значение из функции оболочки в сценарий Perl.

1 Ответ

9 голосов
/ 16 февраля 2012

Вам нужно будет вызывать эту функцию в той же оболочке, что и источники utils.sh, поэтому:

my $dir_name = `source utils.sh; getDir`;
chomp($dir_name);
print $dir_name, "\n";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...