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

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

我有一个像这样运行的 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

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

相关内容