쉘(Shell)에서 POST시 json 데이터에 변수 넣기
쉘에서 curl post할때 json형식의 데이터를 사용하는 방법
쉘에서 json형식의 데이터를 curl을 통해 POST로 요청할때가 있는데,
파라미터로 받은 값, 또는 변수의 값을 직접 사용하면 json의 형태로 만들기 어렵다.
아래 방식을 이용하면 슆게 json 데이터의 형태로 post요청을 할 수 있다.
코드
물론 아래에 POST $HOST -d json을 넣을 수 있지만, 아래 함수와 같이 함수화를 하지 않으면 에러가 난다.
#!/usr/bin/env bash
generate_post_data()
{
cat <<EOF
{
"app_id": 'nice'
"date": "2017-12-15 00:00",
"data" : {
"key": {
"name": "$1",
"birth": "$2",
"age": "3",
"gender": $4
}
}
}
EOF
}
NAME=LEE
BIRTH=0413
AGE=29
GENDER=M
curl -XPOST $HOST -d "$(generate_post_data) $NAME $BIRTH $AGE $GENDER"
'기타 > Shell script, bash' 카테고리의 다른 글
[Shell] 데이터에서 구분자 변경하는 방법 (0) | 2021.05.03 |
---|---|
[Linux] Zip 분할 압축 하는 방법 (0) | 2021.05.03 |
[Shell] 데이터 특정 퍼센트로 나누는 방법 (0) | 2021.05.03 |
쉘(Shell)에서 중복단어 제거하기 (0) | 2021.05.03 |
쉘(Shell)에서 파일 읽어 변수로 저장 (0) | 2021.05.03 |
쉘 특정 컬럼 더하기 (0) | 2021.05.03 |
한개의 파일을 여러 파일로 (데이터 분할) (0) | 2021.05.02 |
스크립트 에러시 메시지 전송 (0) | 2021.05.02 |