Shell $?함수 반환값이나 이전 명령의 종료 상태 가져오기

$? 이전 명령의 종료 상태나 이전 함수의 반환 값을 가져오는 특수 변수입니다.
종료 상태란 이전 명령이 실행된 후의 반환 결과입니다.종료 상태는 숫자입니다. 일반적으로 대부분의 명령이 실행되면 0, 실패는 1을 되돌려줍니다. 이것은 C 언어의main () 함수와 유사합니다.
그러나 다른 값을 되돌려주는 명령도 있습니다.

1) $? 이전 명령의 종료 상태 가져오기


다음 코드를 작성하고test로 저장합니다.sh:

#!/bin/bash
if [ "$1" == 100 ]
then
  exit 0 # , 0
else
  exit 1 # , 1
fi
exit는 현재 셸 프로세스를 종료합니다. 새 프로세스에서 test를 실행해야 합니다.sh, 그렇지 않으면 현재 셸 세션 (터미널 창) 이 닫혀서 종료할 수 없습니다.
예를 들어test를 실행합니다.sh 시 전달 매개 변수 100:

[mozhiyan@localhost ~]$ cd demo
[mozhiyan@localhost demo]$ bash ./test.sh 100 # 
[mozhiyan@localhost demo]$ echo $?
0
또한,test를 실행합니다.sh 시 전달 매개 변수 89:

[mozhiyan@localhost demo]$ bash ./test.sh 89 # 
[mozhiyan@localhost demo]$ echo $?
1

2) $? 함수의 반환값 가져오기


다음 코드를 작성하고test로 저장합니다.sh:

#!/bin/bash
# 
function add(){
  return `expr $1 + $2`
}
add 23 50 # 
echo $? # 
실행 결과:
73
C++, C#, Java 등 프로그래밍 경험이 있는 독자들은 주의하십시오. 엄밀히 말하면 Shell 함수의 return 키워드는 함수의 종료 상태를 나타내는 데 사용되며 함수의 반환 값이 아닙니다.셸은 다른 프로그래밍 언어와 달리 반환 값을 처리하는 키워드가 없습니다.
이 Shell $에 관해서?함수 반환값이나 이전 명령의 종료 상태를 가져온 글은 여기에 설명되어 있습니다. 셸 $에 대한 자세한 내용은 무엇입니까?함수 반환값 내용은 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기