Alterou o código para isso e funcionou:
content=$(curl -s -X GET -H "Header:Value" http://127.0.0.1:8200/etc)
username=$( echo jq -r '.data.value' <<< "${content}" )
echo ${username}
Estou usando o curl para recuperar o JSON de uma API de descanso assim:
content=$(curl -s -X GET -H "Header:Value" http://127.0.0.1:8200/etc)
echo "${content}"| jq -r '.data.value'
que produz o valor que eu preciso. Contudo; quando eu mudar o código acima para ficar assim:
content=$(curl -s -X GET -H "Header:Value" http://127.0.0.1:8200/etc)
username=$(echo "${content}"| jq -r '.data.value')
echo $username
Não produz nada. Como posso alterar isso para que a variável de nome de usuário seja atribuída à saída?
Alterou o código para isso e funcionou:
content=$(curl -s -X GET -H "Header:Value" http://127.0.0.1:8200/etc)
username=$( echo jq -r '.data.value' <<< "${content}" )
echo ${username}
Isso só funciona se você perder o "eco" na segunda linha.
content=$(curl -s -X GET -H "Header:Value" http://127.0.0.1:8200/etc)
username=$( echo jq -r '.data.value' <<< "${content}" )
echo ${username}