리눅스/LInux
[Linux] 쉘스크립트 exit 명령어 되지않을때
IT공부블로그
2022. 5. 6. 18:00
728x90
반응형
참조: https://stackoverflow.com/questions/19886797/exit-inside-parentheses-doesnt-exit-script
[[ $REPLY == [yY] ]] && (
echo "" \
&& echo -e "\033[36m"업데이트 시작"\033[0m" \
&& echo "" \
&& git pull origin develop \
&& (
echo -e "\033[36m"업데이트 완료"\033[0m" \
&& echo ""
) \
|| (
echo ""; echo -e "\033[31m"업데이트 실패"\033[0m"; exit 100
)
)\
위 코드의 경우 업데이트 실패의 exit 100이 동작하지않음
하위 쉘이라서 안된다고 확인하여 소괄호를 중괄호로 변경하니 정상동작
[[ $REPLY == [yY] ]] && {
echo "" \
&& echo -e "\033[36m"업데이트 시작"\033[0m" \
&& echo "" \
&& git pull origin develop \
&& (
echo -e "\033[36m"업데이트 완료"\033[0m" \
&& echo ""
) \
|| {
echo ""; echo -e "\033[31m"업데이트 실패"\033[0m"; exit 100
}
}\
728x90
반응형