长话短说,我将使用 yq 使用 bash 解析目录中的 yaml 文件。我的 yaml 文件可能如下所示:
CLIENT_FIRST_NAME: bob
CLIENT_LAST_NAME: smith
或者
CLIENT_FIRST_NAME: bob
CLIENT_LAST_NAME: smith
CLIENT_MIDDLE_NAME: michael
所以我用do循环遍历每个文件并将变量设置为值例如:
for f in $FILES
do
FIRSTNAME=$(yq r $f CLIENT_FIRST_NAME)
LASTNAME=$(yq r $f CLIENT_LAST_NAME)
add client --firstname=${FIRSTNAME} --lastname=${LASTNAME}
done
但有时我会有那个中间名,我需要包括:
add client --firstname=${FIRSTNAME} --lastname=${LASTNAME} --middlename=${MIDDLENAME}
顺序无关紧要,我只需要能够考虑可能出现在需要添加到“添加客户端”命令的 yaml 中的其他字段。yaml 中的每一行都将添加到命令中。添加的每个键都将是“添加客户端”命令的可行参数。我不必担心 yaml 中的键是否是有效参数。他们会。
对这里未知的最佳方法感到好奇。谢谢!