J'ai un magasin json dans jsonFile
{
"key1": "aaaa bbbbb",
"key2": "cccc ddddd"
}
J'ai du code dans mycode.sh
:
#!/bin/bash
value=($(jq -r '.key1' jsonFile))
echo "$value"
Après avoir exécuté ./mycode.sh
le résultat est aaaa
mais si je lance juste jq -r '.key1' jsonFile
le résultat est aaaa bbbbb
Quelqu'un pourrait-il m'aider?
Avec cette ligne de code
value=($(jq -r '.key1' jsonFile))
vous affectez les deux valeurs à un tablea . Notez les parenthèses extérieures ()
autour de la commande. Ainsi, vous pouvez accéder aux valeurs individuellement ou faire écho au contenu de l'ensemble du tableau.
$ echo "${value[@]}"
aaaa bbbb
$ echo "${value[0]}"
aaaa
$ echo "${value[1]}"
bbbb
Depuis que vous avez fait écho $value
sans spécifier la valeur que vous souhaitez obtenir, vous obtenez uniquement la première valeur du tableau.