바보 배 쉬. - 탈퇴 와 탈퇴 상태.

1957 단어 각본bashshellexit$?
더 읽 기
  C 언어 를 배 운 적 이 있 습 니 다. 우 리 는 exit 로 상 태 를 되 돌려 줍 니 다. Bash 도 마찬가지 입 니 다. 그러면 부모 프로 세 스 가 하위 프로 세 스 를 사용 할 수 있 는 지 여 부 를 판단 할 수 있 습 니 다.좋 은 습관 은 스 크 립 트 가 끝 날 때 상태 로 돌아 가 는 것 이다.0 을 성공 적 으로 되 돌려 주 었 습 니 다. 0 값 이 아 닌 오류 코드 입 니 다.
  스 크 립 트 가 인자 가 없 는 exit 로 끝 날 때 스 크 립 트 의 종료 상 태 는 스 크 립 트 의 마지막 실행 명령 에 의 해 결 정 됩 니 다.
  $?마지막 명령 을 실행 하 는 종료 코드 를 읽 습 니 다. 함수 가 돌아 오 면 $?함수 가 마지막 으로 실 행 된 명령 의 종료 코드 를 드 립 니 다.
함수 가 값 을 되 돌려 주 는 방법 은 Bash 의 방법 입 니 다.
  간단 한 예 를 보 여 주세요.
 
#!/bin/bash
ls -l
echo $?
lskdf
echo $?
! true
[yuyzhu@vm10010 experiment]$sh testExit.sh
total 8
-rwxr-xr-x 1 yuyzhu yuyzhu   8 Oct 12  2011 input
-rwxr-xr-x 1 yuyzhu yuyzhu   9 Oct 12  2011 input1
-rwxr-xr-x 1 yuyzhu yuyzhu  63 Feb 25 23:57 shellUntil
-rwxr-xr-x 1 yuyzhu yuyzhu  64 Aug 23  2013 SReturn
-rwxr-xr-x 1 yuyzhu yuyzhu  44 Aug 29  2011 testEnvSettings
-rw-rw-r-- 1 yuyzhu yuyzhu  49 Mar  2 20:55 testExit.sh
-rwxr-xr-x 1 yuyzhu yuyzhu 389 Oct  9  2011 testpackateutils
-rwxr-xr-x 1 yuyzhu yuyzhu  96 Oct 12  2011 testPatter
0
testExit.sh: line 5: lskdf: command not found
127
[yuyzhu@vm10010 experiment]$echo $?
1

  'ls - l' 이 올 바 르 게 실행 되 기 때문에 출력 상 태 는 0 입 니 다. 'lskdf' 명령 이 존재 하지 않 습 니 다. 반환 상 태 는 127 입 니 다. 마지막 으로!논리 조작, test 명령 의 결 과 를 반전 시 킵 니 다. 이번 에는 출시 상태 에 영향 을 줍 니 다. 그래서 스 크 립 트 를 실행 한 후 $?의 값 은 1 이다.
  스 크 립 트 의 상태 코드 는 사용자 정의 로 주석 에 쓸 수 있 지만 특정한 종료 코드 는 예 정 된 의 미 를 가지 고 충돌 을 피 할 수 있 습 니 다.
  종료 코드 (exit status, 또는 exit code) 의 약속:
    0 은 성공 을 나타 낸다 (제로 - 성공)
    0 이 아니면 실패 (Non - Zero)  - Failure)
    2. 용법 이 부당 함 을 나타 낸다 (Incorrect Usage)
    127 명령 을 찾 을 수 없 음 (명령 을 찾 을 수 없 음)
    126 은 실행 가능 한 것 이 아니 라 는 뜻 (Not an executable)
    >=128 신호 발생
  man exit 를 통 해 exit 의 약속 을 볼 수 있 습 니 다.

좋은 웹페이지 즐겨찾기