Korzystam z curl, aby odzyskać JSON z pozostałego interfejsu API w następujący sposób:
content=$(curl -s -X GET -H "Header:Value" http://127.0.0.1:8200/etc)
echo "${content}"| jq -r '.data.value'
co daje wartość, której potrzebuję. Jednak; kiedy zmieniam powyższy kod, aby wyglądał tak:
content=$(curl -s -X GET -H "Header:Value" http://127.0.0.1:8200/etc)
username=$(echo "${content}"| jq -r '.data.value')
echo $username
Nic nie produkuje. Jak mogę to zmienić, aby zmienna nazwy użytkownika otrzymała dane wyjściowe?
Syntax error: redirection unexpected
(zecho
drugą lub bez, jak sugeruje druga odpowiedź)<<<
operatora w powłoce opartej na popiele, która go nie obsługuje. W każdym razie, nawet w zsh lub bash, które obsługują tego operatora, ten kod nie ma żadnego sensu. Przekierowuje standardowe wejście,echo
którego nie czyta. To dziwne, jak ta odpowiedź zdołała uzyskać 10 głosów pozytywnych.Działa to tylko wtedy, gdy utracisz „echo” w drugiej linii.
źródło
Możesz przekonwertować go na jedną wkładkę jako:
źródło