티스토리 뷰

반응형

여러 개의 서버에 각각 curl을 날려서 동작을 확인하는 일이 가끔? 종종? 생긴다.

하나하나 request를 날린다고 생각하는데 만약 확인해야하는 서버가 몇백개라면 머리가 아프다.

 

이를 shell을 통해서 한번에 할 수 있다.

사실 그냥 shell 프로그래밍 중에 for을 활용한것 뿐이다.

 

 

url_list=("https://192.28.0.5/api/call", "https://192.28.0.6/api/call")

generate_post_data()
{
    cat << EOF
{
    "data":"$1"
}
EOF
}

for url in ${url_list[@]}; do
    echo ${url}
    curl -X POST ${url} -d "$(generate_post_data hello)" -H "Content-Type: application/json"
done

 

post를 예시 코드로 보여주면 다음과 같다.

간단히 shell 문법을 설명하면 (for은 프로그래밍을 해본 분이라면 알 것이라 생각해 넘어가고) 

 

함수 부분을 설명할 수 있는데, 다음처럼 함수명 뒤에 변수를 띄어쓰기 하나를 쓴뒤 넘겨주고 싶은 값을 적으면 된다.

그리고 함수 안에서는 $[순서]를 통해서 몇번째 숫자인지 1부터 시작해서 사용하면 된다.

728x90
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함
250x250