Я использую curl, чтобы вернуть JSON из API остальных, как это:
content=$(curl -s -X GET -H "Header:Value" http://127.0.0.1:8200/etc)
echo "${content}"| jq -r '.data.value'
который производит значение, которое мне нужно. Однако; когда я изменяю код выше, чтобы выглядеть так:
content=$(curl -s -X GET -H "Header:Value" http://127.0.0.1:8200/etc)
username=$(echo "${content}"| jq -r '.data.value')
echo $username
Ничего не выдает. Как я могу изменить это так, чтобы переменной username был присвоен выход?
Syntax error: redirection unexpected
(с или без,echo
как предполагает другой ответ.<<<
оператор в оболочке на основе золы, которая его не поддерживает. В любом случае, даже в zsh или bash, которые поддерживают этот оператор, этот код не имеет никакого смысла. Он перенаправляет STDIN,echo
который не читает его. Удивительно, как за этот ответ удалось получить 10 голосов.Это работает, только если вы потеряете «эхо» во второй строке.
источник
Вы можете преобразовать его в один лайнер как:
источник