У меня есть сценарий оболочки, в котором есть две подпрограммы, которые принимают аргумент, массируйте этот аргумент &, затем укажите новое значение в качестве вывода.Как вызвать подпрограмму оболочки из скрипта perl
Этот скрипт используется многими другими сценариями оболочки. Теперь у меня есть скрипт Perl, где я хочу вызвать эти подпрограммы оболочки с аргументами. Ниже мой код:
#! /bin/sh
extract_data()
{
arg1 = $1
// massage data code
output=massaged data
return 0
}
Perl скрипт:
Так вот я хочу, чтобы присвоить значение выходной переменной из подпрограммы оболочки для выходной переменной сценария Perl. Но то, что я нашел, доступно только в том случае, если я повторяю эту выходную переменную в подпрограмме shell, как показано ниже.
#! /bin/sh
extract_data()
{
arg1 = $1
// massage data code
output=massaged data
echo $output
}
Я не хочу, чтобы эхо выходной переменной, как это конфиденциальные данные & будут выставлены в журналах других сценариях оболочки.
Просьба сообщить.
Это дает мне ниже ошибки, как PERL скрипт не может распознать выходную переменную из сценария оболочки. Глобальный символ «$ output» требует явного имени пакета в строке may.pl 35. – CuriousOne
Извините, забыли обратную косую черту. – cjm
Он также работает. Благодаря! – CuriousOne