Shell $?:함수 반환 값 이나 이전 명령 의 종료 상 태 를 가 져 옵 니 다.

1297 단어 Linux
$? 이전 명령 의 종료 상태 나 이전 함수 의 반환 값 을 가 져 오 는 특수 변수 입 니 다.종료 상태 란 이전 명령 이 실 행 된 후 되 돌아 오 는 결과 입 니 다.종료 상 태 는 숫자 입 니 다. 일반적으로 대부분의 명령 이 성공 하면 0 으로 돌아 가 고 실패 하면 1 로 돌아 갑 니 다. 이것 은 C 언어의 main () 함수 와 유사 합 니 다.그러나 다른 값 으로 돌아 가 다양한 종류의 오 류 를 표시 하 는 명령 도 있다.
1) $? 이전 명령 의 종료 상태 가 져 오기
우 리 는 두 개의 스 크 립 트 파일 로 시범 을 보 였 다.다음 코드 를 작성 하고 a. sh 로 저장 합 니 다.
 
  • #!/bin/bash
  •  
  •  
  • if [ $1 == 100 ]
  • then
  • return 0\# 매개 변수 가 정확 하고 0
  • 을 되 돌려 줍 니 다.
  • else
  • return 1\# 매개 변수 오류, 반환 1
  • fi

  • 다음 코드 를 작성 하고 b. sh 로 저장 합 니 다:
     
  • #!/bin/bash
  •  
  • echo $?

  • 먼저 a. sh 를 실행 하고 매개 변수 100 을 전달 한 다음 에 b. sh 를 실행 합 니 다. 결 과 는 다음 과 같 습 니 다.
    $ . ./a.sh 100 $ . ./b.sh 0
    a. sh 에 전 달 된 인 자 를 89 로 바 꾸 면 b. sh 의 운행 결 과 는 달라 집 니 다.
    $ . ./a.sh 89 $ . ./b.sh 1
    2) $? 함수 의 반환 값 가 져 오기
    다음 코드 를 작성 하여 test. sh 로 저장 합 니 다:
         
     
  • #!/bin/bash
  •  
  • \# 두 개의 수 를 더 한 합
  • function add(){
  • return `expr $1 + $2`
  • }
  •  
  • add 23 50\# 호출 함수
  • echo $? #함수 반환 값 가 져 오기
  • test. sh 실행:
    $ . ./test.sh 73

    좋은 웹페이지 즐겨찾기