Estou tentando extrair valor do JSON abaixo:
% export test='{"a-b-c":"x-y-z"}'
% echo $test
{"a-b-c":"x-y-z"}
% echo $test | jq .a-b-c
jq: error: b/0 is not defined at <top-level>, line 1:
.a-b-c
jq: error: c/0 is not defined at <top-level>, line 1:
.a-b-c
jq: 2 compile errors
% echo $test | jq '."a-b-c"'
"x-y-z"
%
enquanto a última linha "funciona", meu objetivo final é ter script de shell e substituir o parâmetro "abc" por variável, no entanto, devido ao uso de aspas simples, o valor real não está sendo passado.
% export var1=a-b-c
% echo $var1
a-b-c
% echo $test | jq '."$var1"'
null
%
Por favor, avise)
Use a
--arg
opção para inicializar uma variável jq com o valor de uma variável shell.Consulte Invocando jq e role para baixo até
--arg
Eu tenho que trabalhar:
Obrigado!