захват bash выходных значений внутри perl скрипта - PullRequest
2 голосов
/ 05 августа 2020

У меня есть сценарий bash, который устанавливает значения для двух переменных (не STDOUT). Я хочу сохранить эти переменные внутри сценария perl.

Извините, у меня нет примера ... но это требование. любые мысли, пожалуйста

В сценарии оболочки я делаю что-то вроде этого

source <Script Name> <Variable1> <Variable2>
Value1=$output1
Value2=$output2

======================= Я хочу сделать то же самое внутри perl

Пробовал

system("sh <Script> <Variable1> <Variable2>");
$Value1 = "$output1";
$Value2 = "$output2";
print $Value1 

Пусто

Ответы [ 2 ]

3 голосов
/ 06 августа 2020

Чтобы развить ответ @Snorik, вот один из способов сделать это:

system 'bash', '-c', 'source xyz.sh; echo -n $output1 >1.txt; echo -n $output2 >2.txt';
my $output1 = `cat 1.txt`;
my $output2 = `cat 2.txt`;
1 голос
/ 05 августа 2020

Поскольку Bash не позволяет использовать фактические возвращаемые значения, самый простой способ - это сценарий bash для записи каждого значения в файл и последующего чтения каждого значения из файла.

Посмотрите на это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...