J'utilise curl pour récupérer JSON à partir d'une API de repos comme celle-ci:
content=$(curl -s -X GET -H "Header:Value" http://127.0.0.1:8200/etc)
echo "${content}"| jq -r '.data.value'
ce qui produit la valeur dont j'ai besoin. Toutefois; quand je change le code ci-dessus pour ressembler à ceci:
content=$(curl -s -X GET -H "Header:Value" http://127.0.0.1:8200/etc)
username=$(echo "${content}"| jq -r '.data.value')
echo $username
Ne produit rien. Comment puis-je changer cela pour que la variable de nom d'utilisateur reçoive la sortie?
Syntax error: redirection unexpected
(avec ou sans leecho
comme le suggère l'autre réponse.<<<
opérateur dans un shell à base de cendres qui ne le prend pas en charge. Dans tous les cas, même dans zsh ou bash qui prennent en charge cet opérateur, ce code n'a aucun sens. Il redirige le stdinecho
dont il ne le lit pas. C'est une merveille comment cette réponse a réussi à obtenir 10 votes positifs.Cela ne fonctionne que si vous perdez "l'écho" sur la deuxième ligne.
la source
Vous pouvez le convertir en un revêtement comme:
la source