$ n="foo"; echo "{}" | jq --arg n "$n" '. += { "$n": $n }'
{
"$n": "foo"
}
Minha leitura de https://jqlang.github.io/jq/manual/#types-and-values sugere que isso deveria funcionar -- mas claramente não funciona. O que está acontecendo?
$ n="foo"; echo "{}" | jq --arg n "$n" '. += { "$n": $n }'
{
"$n": "foo"
}
Minha leitura de https://jqlang.github.io/jq/manual/#types-and-values sugere que isso deveria funcionar -- mas claramente não funciona. O que está acontecendo?
Você pode fazer isso colocando
$n
parênteses para dizer ao jq para avaliar a expressão:Ou provavelmente mais adequado para esta tarefa seria jo(1):
Não tenho certeza se a documentação está errada ou se minha capacidade de compreensão não está em um nível alto o suficiente, mas parece que seu exemplo deve funcionar:
E pode-se supor que isso se refere a uma variável nativa jq em vez de uma injetada pelo shell, pois são ligeiramente diferentes, mas, infelizmente, ambas precisam estar entre parênteses: