2011-01-19 3 views
0

init.d 서비스를 만들고 있었고 참조 할 수 있도록 몇 가지 스크립트를 읽었습니다. 이걸 스켈레톤에서 찾았습니다 :셸 스크립트에 관한 도움말

이 스 니펫은 무엇을합니까? 나는 이것이 switch : case라는 것을 알게된다. 사건의 사건에 대해 묻고 있습니다.

case "$1" in 
    start) 
     echo test 
     case "$?" in 
       0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 
       2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; 
     esac 

추신 : 제목 실례합니다, 나는 더 나은 이름

감사합니다 생각하지 못했습니다.

+1

이 스 니펫의 기능은 불완전하기 때문에 * 구문 오류 *입니다. – Sorpigal

답변

2

실제 스크립트처럼 보이는 것이 '반향 테스트'보다 더 중요 할 수도 있습니다. $? 이 스크립트에서 echo 명령으로 반환 된 종료 코드입니다. inner case 문은 종료 코드에 적합한 로그 메시지를 인쇄합니다. 0 | 1은 성공 가능성이 가장 높습니다. 2는 아마도 오류 일 것입니다.

+0

나는이 줄을 가지고있다 :'cd/usr/share/jetty;/usr/bin/java -jar start.jar' – theTuxRacer

+0

이 경우, java 프로세스의 종료 상태를 점검합니다. –

0

$? 마지막으로 실행 된 명령의 종료 코드를 보유합니다. 0 인 경우 오류가 없습니다.