쉘프로그램 예외 처리는 어떤 식으로 하시나요?

closeyes의 이미지

1.안한다.
2.매뉴얼 페이지 보고서 반환값보고 처리한다.
3.0보다 작은 값이면 에러처리한다.
4.불가능하다.

송효진의 이미지

해야할 것에는 해야겠죠.
리눅스(유닉스) 쉘에서 쓰이는 명령어들은 0이 참이 됩니다.

#!/bin/bash
mv a b
case $? in
0)
    echo success
;;
*)
    echo false
;;
esac

emerge money

ganadist의 이미지

그냥 간단하게 다음과 같이 하면 됩니다.

mv a b || echo "move failed"

----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러

closeyes의 이미지

쉘에서 command1 || command2 라고 하면
command1이 0이 아닐경우에 한해서 무조건적으로 command2를 실행하는거라고 알고 있는데요.
그렇게 되면 양의 정수의 반환값중에서 128이상의 값부터는 특별한 의미를 지니는 반환값인걸로 알고 있는데 , 이 반환값의 처리는 어떻게 되는 건가요?

lacovnk의 이미지

false && ls
false || ls
false ; ls

:)