Bash
如何讓jq輸出成變數
這是我的程式碼
curl random args "link" | jq
並給出它給出的是
{ "id": "961438154596153411", "username": "testing", "avatar": "a9000496add364b16af27e2f583a2e1e0f", "discriminator": "1" }
我將如何將其保存為 bash 變數,這樣我就可以像 echo " $ id" and it gives me 961438154596153411 or echo " $ 使用者名”測試
已解決注意:這樣做的更好方法是將 curl 輸入保存為 json,然後將其與 jq 一起使用,這樣您就不必多次請求內容(對不起,如果這是一個愚蠢的問題,我是 bash 和 jq 的新手)
961438154596153411
要從json 中提取,請將文件導入jq '.id'
例子:
$ jq '.id' << EOF { "id": "961438154596153411", "username": "testing", "avatar": "a9000496add364b16af27e2f583a2e1e0f", "discriminator": "1" } EOF
輸出
"961438154596153411"
如果您想要不帶引號,請使用
-r
原始數據。總之,要將該數字放入 bash 變數中,我會這樣做:
$ id=$(curl random args "link" | jq -r ".id") $ echo "$id" 961438154596153411