curl
Bash 파일에서 작업 명령(옵션 포함)을 제공합니다.
#!/bin/bash
curl 'https://digi.kansalliskirjasto.fi/rest/binding-search/search/binding?offset=0&count=10000' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Cache-Control: no-cache' \
-H 'Connection: keep-alive' \
-H 'Content-Type: application/json' \
-H 'Pragma: no-cache' \
--data-raw '{ "authors":[],
"collections":[],
"districts":[],
"endDate":null,
"formats":["JOURNAL","PRINTING","NEWSPAPER"],
"fuzzy":false,
"hasIllustrations":false,
"importStartDate":null,
"importTime":"ANY",
"includeUnauthorizedResults":false,
"languages":[],
"orderBy":"RELEVANCE",
"pages":"",
"publicationPlaces":[],
"publications":[],
"publishers":[],
"query":"freedom",
"queryTargetsMetadata":false,
"queryTargetsOcrText":true,
"requireAllKeywords":true,
"searchForBindings":false,
"showLastPage":false,
"startDate":null,
"tags":[]
}' \
--compressed \
--output my_file.json
다음 맞춤 매개변수를 전달하고 싶습니다.
myQUERY="freedom"
myFORMATS='["JOURNAL","PRINTING","NEWSPAPER"]'
myFUZZY="false"
, 및 에 대한 변수 --data-raw
로 옵션이 있습니다 . 나는 몇 가지 대안을 시도했습니다."query"
"formats"
"fuzzy"
"formats":$myFORMATS, "query":$myQUERY, "fuzzy":$myFUZZY,
또는
"formats":${myFORMATS}, "query":${myQUERY}, "fuzzy":${myFUZZY}
또는
"formats":"${myFORMATS}", "query":"${myQUERY}", "fuzzy":"${myFUZZY}"
이들 중 어느 것도 초기 bash 코드에서 요구하는 결과를 반환하지 않습니다!
사용자 정의 변수를 명령 옵션으로 조작하는 가장 쉬운 방법은 무엇입니까?
건배,
답변1
이렇게 쉘을 이용해서여기 - 문서:
myquery="freedom"
myformats='["JOURNAL","PRINTING","NEWSPAPER"]'
myfuzzy="false"
curl 'https://digi.kansalliskirjasto.fi/rest/binding-search/search/binding?offset=0&count=10000' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Cache-Control: no-cache' \
-H 'Connection: keep-alive' \
-H 'Content-Type: application/json' \
-H 'Pragma: no-cache' \
--compressed \
--output my_file.json \
-d @- <<EOF
{ "authors":[],
"collections":[],
"districts":[],
"endDate":null,
"formats":$myformats,
"fuzzy":$myfuzzy,
"hasIllustrations":false,
"importStartDate":null,
"importTime":"ANY",
"includeUnauthorizedResults":false,
"languages":[],
"orderBy":"RELEVANCE",
"pages":"",
"publicationPlaces":[],
"publications":[],
"publishers":[],
"query":"$myquery",
"queryTargetsMetadata":false,
"queryTargetsOcrText":true,
"requireAllKeywords":true,
"searchForBindings":false,
"showLastPage":false,
"startDate":null,
"tags":[]
}
EOF