명령어 성공 여부
명령어를 실행하면 그에 따른 return이 $?에 저장이 된다.
0 이 리턴되면 정상, 0이 리턴되지 않으면 오류로 간주
쉘스크립트로 만들면 아래와 같다.
#!/bin/sh
ls /etc | grep hosts
if [ $? -eq 0 ];then
echo "CMD OK!"
else
echo "CMD Failure!"
exit(9)
fi
그런데 더 간단하게 보이는 방법으로서
명령을 실행하고 나서 쉘의 && | 논리 연산자를 이용하는 방법이 있다. |
CMD && 성공인 경우의 명령 || 실패인 경우의 명령
ls /etc | grep hosts \
&& echo "CMD OK!" \
|| {echo "CMD Failure!"; exit(9);}
근데 실패인 경우의 명령에서 명령들을 {}로 감싸주었다.
{}로 감싸주지 않으면 실패일 경우 echo “CMD Failure!” 명령어만 실행되고
exit(9)명령은 성공, 실패 여부 상관없이 실행된다.
Leave a comment