(command substitution을 통해) 셸 변수에 결과를 저장 한 다음 간단한 if
and [[
command으로 값을 테스트 할 수 있습니다. 예를 들어, bash
에 : 당신이 원하는 모든 간단한 rm
경우
#!/bin/bash
code=$(curl -s -o /dev/null -w "%{http_code}" 'https://www.example.com')
if [[ $code == 200 ]]; then
rm /path/to/file
# other actions
fi
, 당신은 그것을 줄일 수 있습니다 : 일반적인 POSIX 쉘에서
#!/bin/bash
[[ $code == 200 ]] && rm /path/to/file
, 당신은 덜 유연를 사용해야합니다
#!/bin/sh
code=$(curl -s -o /dev/null -w "%{http_code}" 'https://www.example.com')
if [ "$code" = 200 ]; then
rm /path/to/file
fi
추가 : [
명령은 변수를 인용 전체 코드 클래스 (예 : 2xx
), 와일드 카드를 사용할 수 있습니다
#!/bin/bash
[[ $code == 2* ]] && rm /path/to/file
과 case
명령 (예 here을).
삭제 된 대답에 @randomir이 지적한 것처럼, 'curl'이 404에서도 성공하기 때문에 수동 2xx 검사가 필요합니다 (종료 코드를 확인하는 대신). –