试图弄清楚jq的语法。 这行工作正常:
echo $(cat ../post-auth/rkt-auth.json | jq -c --arg user ${vsphere_user} '.credentials.user = $user') > ../post-auth/rkt-auth.json
但是,当变量是json路径的一部分时,情况并非如此:
echo $(cat ../post-auth/docker-auth.json | jq -c --arg basejq ${base} --arg tempvarjq ${tempvar} '.auths.$tempvarjq.auth= $basejq') > ../post-auth/docker-auth.json
错误:
jq: error: syntax error, unexpected '$', expecting FORMAT or QQSTRING_START (Unix shell quoting issues?) at <top-level>, line 1:
.auths.$tempvarjq.auth= $basejq
jq: 1 compile error
任何建议如何使用该变量更正此语法?
答案 0 :(得分:2)
尝试一下。
lookup