Development/기타

[Shell script] 쉘 스크립트 명령어 성공 여부 조건문 처리

컴공 K 2022. 12. 5. 03:00

Shell script 명령어 성공 여부 조건문 처리

쉘 스크립트에 아래와 같이 명령어를 모두 모아두고 실행시키면 성공적인 경우에는 정상적으로 동작하지만, 중간에 실패한다면 문제 발생 지점 이후에 명령어 혹은 전체 환경에 영향을 끼칠 수 있다.

echo 'hihi'
npm ci
npm run build
pm2 start dist/main.js --name test

 

 

명령어 성공 여부에 대한 조건문을 처리해서 적절한 처리 혹은 스크립트를 종료시켜준다면 어느 정도는 문제 상황을 해결 혹은 더 큰 문제 발생 상황을 막을 수 있다. Linux에서 $?로 명령어의 성공, 실패 여부를 각각 0과 1로 return 한다. 이를 활용해서 아래와 같이 조건문을 사용할 수 있다.

echo "test command!"
if [ $? -eq 0 ];then
    # 명령어 성공시
    echo "command successfully!"
else
    # 명령어 실패시
    echo "command failed!"
    exit 1
fi

첫번째 if문의 조건인 [$? -eq 0]는 명령어의 성공시에 대해서 처리하고 else문에서 명령어 실패시에 대해 처리하면 된다.

 

 

 

 

https://antamis.tistory.com/225

 

쉘스크립트에서 성공여부 확인 방법

쉘스크닙트를 작성하다 보면 특정 명령의 성공 유무가 궁금합니다. 이것은 해당 Process의 return 값하고 관계가 있을 수 있는데 C 프로그램의 main() 함수에서의 return 값 하고도 관계가 있습니다. 혹

antamis.tistory.com

 

728x90