Salvar um valor canalizado deu errado

0

Eu instalei o jq para manipular alguns JSON com o bash. Mas, de alguma forma, canalizar a string JSON para jq em combinação com salvar sua saída para outra variável deu errado.

TEST='{"foo": "bar"}'
PB_SIG=$TEST | jq '.foo'
echo $PB_SIG

Ele exibe apenas a string TEST JSON inteira. Alguém?

    
por Milkmannetje 02.07.2015 / 20:05

2 respostas

0

Tente isso na segunda linha:

PB_SIG='echo $TEST | jq '.foo''

Os dois problemas que vejo é que você precisa ecoar o valor da variável $ TEST através do pipe e que você precisa capturar a saída do comando canalizado.

    
por 02.07.2015 / 20:07
2

Use isso com o bash:

TEST='{"foo": "bar"}'
PB_SIG=$(jq '.foo' <<< "$TEST")
echo "$PB_SIG"

Saída:

"bar"
    
por 02.07.2015 / 20:09