bash에서 exit code (exit value) 반환받기
형식 : 명령어;echo $?
# ls;echo $? 0 # ls aaaa;echo $? ls: cannot access aaaa: No such file or directory 2
이와같이
명령어가 정상적으로 수행 되었을 경우 ”0”을
그렇지 않은 경우 ”0이 아닌 다른 코드”를 반환하게 된다.
”$?” 변수는 명령어가 실행된 다음 종료상태(exit code, exit status)를 알려주기 때문에
어떤 명령어를 실행한 다음, 결과를 확인할 때 사용하면 되겠다.
다음은 쉘 스크립트의 내장 변수 및 exit code 안내이므로 참고하면 좋겠다.
출처 : http://www.ischo.net/board_linux/5188
- shell 내장변수
$$ : 해당 프로세스의 PID값 $? : 가장 최근에 실행한 명령의 종료값 $# : 프로그램에 전달된 인수의 개수 $0 : 명령수행시 명령의 이름을 기억하는 변수값 $n : 전달된 n번째 인수(ex:$1,$2) $* : 전달된 인수들 전체를 하나의 문자열로 표시함 $@ : 전달된 인수들 전체를 문자열의 목록으로 표시함 $! : 마지막으로 실행된 백그라운드 프로세스 pid값
- Shell exit code ( 내장변수 $? 에 저장되어 다음 쉘에서 활용가능 )
0 : Successful completion of the command 1 : General unknown error 2 : Misuse of shell command 126 : The command can't execute 127 : Command not found 128 : Invalid exit argument 128+x : Fatal error with Linux signal x 130 : Command terminated with Ctrl-C 255 : Exit status out of range