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