2

У меня есть скрипт Python, который запускается так:

scriptname --param_a=123 --param_b=423 --param_c=xyz

Скрипт ожидает передачи трех параметров

У меня есть (конфигурационный) текстовый файл, который содержит параметры. Я хочу написать скрипт Bash (мой первый), который будет использовать записи в файле для передачи параметров в скрипт.

Например, если текстовый файл конфигурации содержит следующие данные:

--param_a=123 --param_b=423 --param_c=xyz
--param_a=203 --param_b=343 --param_c=abz
--param_a=976 --param_b=891 --param_c=abc

Затем я хочу вызвать скрипт (3 раза) один раз для каждой строки в файле конфигурации и передать параметры скрипту.

Может кто-нибудь подсказать, как написать такой скрипт на Bash.

Я намерен запустить скрипт в системе Ubuntu

1 ответ1

3
while read -r -a array
do
    scriptname "${array[@]}"
done < configfile

или же

while read -r line
do
    scriptname $line
done < configfile

Преимущество первого состоит в том, что ваш конфигурационный файл имеет запятые, например, между параметрами вместо пробелов:

--param_a=123,--param_b=423,--param_c=xyz

Вы могли бы сделать:

while IFS=, read -r -a array

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .