JQ выбор и передача аргументов - PullRequest
0 голосов
/ 13 января 2020

Я пытаюсь передать переменные в JQ, но следующий код не работает должным образом:

echo '{
   "app": "K8s",
   "version": "1.8",
   "date": "2018-10-10"
}' | jq --arg app 'K8s' -c 'select(.app == [$app]).version'

Однако работает следующий пример:

echo '{
   "app": "K8s",
   "version": "1.8",
   "date": "2018-10-10"
}' | jq -r --arg app app 'select(.[$app] == "K8s").version'

почему первый пример не работает?

Спасибо

1 Ответ

1 голос
/ 13 января 2020

В первом примере [$app] неверно: это выражение создает массив. Программа jq должна быть:

select(.app == $app).version
...