jq で環境変数を使おうとして jq ".[] | select(.name == ${NAME})"
とかしてもうまくいかない。
フィルタまるごと変数にする
$ name=foo
$ expression=".[] | select(.name == \"${name}\")"
$ jq "${expression}" example.json
--arg
を使う
jq Manual (development version) Add a field to an object with JQ · GitHub
$ env_name=foo
$ jq --arg name ${env_name} '.[] | select(.name == $name)' example.json
--arg expression内で使う変数名 値
の順番- expression内では
"${name}"
ではなく$name
とする必要がある