Запустить perl скрипт в массиве bash - PullRequest
1 голос
/ 17 апреля 2020

Мне нужно запустить скрипт perl в массиве bash, который будет возвращать определенные значения на основе указанной вами строки. Сценарий perl сам принимает пользователя и строку и возвращает значение в зависимости от заданной вами строки. Например. Вот как работает скрипт perl

$ perlscript.pl user disabled

Это запустит скрипт perl и вернет, отключен пользователь или нет. Есть около 5 строк, которые он примет. Я пытаюсь запустить этот скрипт внутри массива bash, например,

declare -a perlScriptArray=('disabled' 'fullName' 'email' 'sponsor' 'manager')

Очевидно, что это неправильно и просто вернет указанную вами строку. Я хочу что-то вроде этого внутри скрипта bash.

declare -a perlScriptArray=('perlScript.pl disabled' 'perlScript.pl fullName' 'perlScript.pl email' 'perlScript.pl sponsor' 'perlScript.pl manager'

Это, однако, не работает. Сам сценарий bash принимает пользователя как $1 и передает его в сценарий perl, который запустит указанную вами строку для сценария perl. Как мне go сделать это? И возможно ли это вообще?

1 Ответ

2 голосов
/ 17 апреля 2020

L oop по массиву, вызывающему скрипт с каждым элементом

declare -a perlScriptArray=('disabled' 'fullName' 'email' 'sponsor' 'manager')
user=$1

for option in "${perlScriptArray[@]}"
do
    perlScipt.pl "$user" "$option"
done
...