답변:
컬을 사용하십시오. 모든 오류가 어떻게 보일지 추측하지 마십시오.
[wizard@laptop ~] curl -s -S http://www.google.coccm/ > /dev/null && echo "TRUE"
curl: (6) Couldn't resolve host 'www.google.coccm'
[wizard@laptop ~]$ curl -s -S http://www.google.com/ > /dev/null && echo "TRUE"
TRUE
-s /-자동
Silent mode. Don’t show progress meter or error messages. Makes Curl mute.
-S /-쇼 오류
When used with -s it makes curl show error message if it fails.
그리고 어떤 이유로 stdout에 stderr가 필요한 경우.
curl -s -S http://www.google.coccm/ 2>&1 1> /dev/null
옵션이 보이지 않습니다. 오류가 무엇인지 또는 오류가 발생한 경우 알아야합니까? 오류가 있는지 알아야하는 경우 종료 상태를 사용할 수 있습니다.
if ! wget -o /dev/null www.google.com/flasfsdfsdf; then
echo 'Oops!'
fi
아니면 :
if ! wget -o logfile www.google.com/flasfsdfsdf; then
cat logfile
fi
그리고 화려하고 싶다면 고양이를 grep 명령으로 바꿀 수 있습니다 ...
표준 출력을로 리디렉션 /dev/null
하되, 선택한 쉘에서 오류 출력을 유지하십시오.
bash에서 이것은 다음과 같습니다.
wget [wget options] > /dev/null
편집 : 그래서 wget
무례한 행동. 모든 오류에 "error"라는 단어가 포함되어 있으면grep
wget [wget options] 2>&1 | grep -i "error"
grep
출력 오류 만 사용 하는 다른 옵션을 추가했습니다
stderr
도움없이 파이프를 통과하지 않습니다.
에 wget
모든 메시지를 출력 하므로 stderr
, grep으로 파이프하기 전에 리디렉션을 사용해야합니다.
wget [options] 2>&1 | grep "^wget:"
이것은 wget
"wget :"으로 오류 라인 을 시작 한다고 가정합니다 .