cURL: 오류 정보 가져오기

cURL: 오류 정보 가져오기

cURL을 사용하여 일부 웹사이트와 메일 서버를 모니터링하기 위해 작은 bash 스크립트를 만들었습니다.

HTTP 상태 코드와 종료 코드를 확인하겠습니다. 하지만 cURL의 실제 오류 메시지도 포함하고 싶습니다. 그것들을 어떻게 합칠 수 있는지 알 수 없습니다.

다음 코드는 현재 내가 가지고 있는 코드입니다.

RESPONSE=$(curl --location --head --silent --output /dev/null --write-out '%{response_code}' nohosthere.com ; echo " $?")
R=( $RESPONSE )
CODE="${R[0]}"
EXIT="${R[1]}"


if [ $CODE -eq 200 ]; then
    echo 'Ok'
else
    echo "Response: ${RESPONSE}"
    echo "Code: ${CODE}"
    echo "Exit: ${EXIT}"
    #echo "MESSAGE I WANT HERE curl: (6) Could not resolve host: nohosthere.com"
fi

내가 추가할 때--표시 오류직접 인쇄됩니다. 파일이나 저장소로 리디렉션할 수 있지만 모두 함께 보관할 위치를 모르겠습니다.

--write_out과 비슷한 것이 있다는 것을 알고 있습니다.%{잘못된 정보}그리고%{종료 코드}하지만 내 테스트 시스템(macOS 10.15)과 AWS Lightsail 서버에서는 둘 다 사용할 수 없습니다.

답변1

RESPONSE=$(...)그렇다면 직접 (끝에는 아무 것도 없음 echo $?) 은 어떨까요 EXIT=$??

이를 위해 배열을 사용할 필요가 없습니다. $RESPONSE포함될 출력에는 종료 코드가 포함 curl됩니다 .$EXIT

관련 정보