如何将参数从文件传递到脚本?


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系统上运行脚本

Answers:


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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.