반응형
셸에 URL이 존재하고 아마도 컬이 있는지 확인하는 방법은 무엇입니까?
URL이 존재하거나 (200을 반환) 그렇지 않은 경우 true 또는 false로 평가되는 간단한 셸 (+ curl) 검사를 찾고 있습니다.
를 사용 --fail
하면 실패한 요청에서 종료 상태가 0이 아닙니다. 를 사용 --head
하면이 검사에 필요하지 않으므로 파일 내용을 다운로드하지 않습니다. 를 사용 --silent
하면 검사 자체에서 상태 또는 오류가 발생하지 않도록 방지 할 수 있습니다.
if curl --output /dev/null --silent --head --fail "$url"; then
echo "URL exists: $url"
else
echo "URL does not exist: $url"
fi
서버가 HEAD 요청을 거부하는 경우 대안은 파일의 첫 번째 바이트 만 요청하는 것입니다.
if curl --output /dev/null --silent --fail -r 0-0 "$url"; then
나는 wget이 CURL보다 더 나은 도구라고 생각합니다. 기억해야 할 옵션이 적고 실제로 bash에서 진실 값을 확인하여 기본적으로 성공했는지 여부를 확인할 수 있습니다.
if wget --spider http://google.com 2>/dev/null; then
echo "File exists"
else
echo "File does not exist"
fi
이 --spider
옵션은 wget이 파일을 다운로드하는 대신 파일을 확인하도록하고 2> /dev/null
wget의 stderr 출력을 무음으로 만듭니다.
반응형
'Development Tip' 카테고리의 다른 글
작업 스케줄러가 작업을 시작하는 문제 (0) | 2020.12.07 |
---|---|
Android에서 webview에 URL을로드하는 동안 진행률을 표시하는 방법은 무엇입니까? (0) | 2020.12.07 |
Mockito로 콜백 호출 (0) | 2020.12.07 |
PHP에서 로그 파일을 만드는 방법은 무엇입니까? (0) | 2020.12.07 |
Elastic Beanstalk T2 서버는 내 node.js 앱 파일을 어디에 저장하나요? (0) | 2020.12.07 |