지시 사항에 대한 조언을 찾고 있으므로 필자는 스크립팅에 익숙하지 않기 때문에 프로젝트를 맡아야한다. 내 목표는 다음과 같습니다 :Bash Script Project - JSON을 구문 분석하고 루프 내에서 XML의 cURL POST를 구성하십시오.
cURL을 사용하여 JSON 데이터를 가져 와서 특정 개체 값을 구문 분석합니다. jp를 사용하여 JSON을 구문 분석 한 다음 그 결과를 변수로 저장하려고했습니다. -
{
"href": "http://localhost:8080//profiles",
"Profiles": [
{
"href": "http://localhost:8080/profiles/myprofile",
"id": "myprofile",
"isRecording": false
},
{
"href": "http://localhost:8080/profiles/yourprofile",
"id": "yourprofile",
"isRecording": false
}
]
}
BASH 스크립트 -
#!/bin/bash
read -p "Please enter downtime name (and press Enter): " downtimename
read -p "Please enter timestart:" timeStart
read -p "Please enter time duration (in minutes): " durationMinutes
#!/bin/bash
PROFILE="$(curl --user admin:admin -k -X GET https://xxx.xx.xx.xxx:8080/profiles.json | jq '.Profiles[].id')"
echo "$PROFILE"
RETURNS - "MyProfile의" "yourprofile"
다음으로 샘플 JSON : 여기
내가 시작해야 할 것입니다 1 개 이상의 xml 데이터의 cURL POST를 구성해야합니다 (아래 예제) 각 게시물은 xml의 단일 컬 포스트 일 것입니다. e 위의 ach 행은 "$ PROFILE"을 echo합니다. 나는 이것이 for 루프 일 것이라고 생각하고 있나? 내가 고민하는 것은 "$ PROFILE"에서 각 값/라인을 읽고 위의 각 결과에 대해 아래 curl URL에서 $ {profile}을 바꾸면서 for 루프를 사용하여 XML을 게시하는 방법입니다.curl -X POST https://xxx.xx.xx.xxx:8080/testprofiles/${profile}/time/${downtimename} --data-urlencode xml="<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<time>
<gametime>
2016-11-23T05:30:00+02:00
<start>${timeStart}</start>
<duration unit="MINUTES">${durationMinutes}</duration>
</gametime>
</time>" -H 'Accept: application/xml' \ -H 'Content-Type: application/xml' -u admin:admin
은 도움