이게 내 코드야
curl random args
"link" | jq
그리고 그것이 주는 것은
{
"id": "961438154596153411",
"username": "testing",
"avatar": "a9000496add364b16af27e2f583a2e1e0f",
"discriminator": "1"
}
"$id"를 echo할 수 있도록 bash 변수로 어떻게 저장하고 테스트하려면 961438154596153411 또는 echo "$username"을 제공합니까?
해결 방법: 더 나은 접근 방식은 컬 입력을 json으로 저장한 다음 jq와 함께 사용하여 여러 번 요청할 필요가 없도록 하는 것입니다. (이것이 어리석은 질문이라면 죄송합니다. 저는 bash 및 jq를 처음 접했습니다.)
답변1
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