Estoy usando curl para recuperar JSON de una API de descanso como esta:
content=$(curl -s -X GET -H "Header:Value" http://127.0.0.1:8200/etc)
echo "${content}"| jq -r '.data.value'
que produce el valor que necesito. Sin embargo; cuando cambio el código anterior para que se vea así:
content=$(curl -s -X GET -H "Header:Value" http://127.0.0.1:8200/etc)
username=$(echo "${content}"| jq -r '.data.value')
echo $username
No produce nada ¿Cómo puedo cambiar esto para que la variable de nombre de usuario tenga asignada la salida?
Syntax error: redirection unexpected
(con o sin elecho
como sugiere la otra respuesta.<<<
operador en un shell basado en cenizas que no lo admite. En cualquier caso, incluso en zsh o bash que admiten ese operador, ese código no tiene ningún sentido. Redirige el stdin delecho
cual no lo lee. Es sorprendente cómo esa respuesta logró obtener 10 votos a favor.Esto solo funciona si pierde el "eco" en la segunda línea.
fuente
Puede convertirlo en un solo revestimiento como:
fuente