Shell Script (4): 조건 부 분기 문 1

3356 단어
저작권 은 작가 의 소유 이 며, 어떠한 형식의 전재 도 작가 에 게 연락 하여 권한 을 수 여 받 고 출처 를 밝 혀 주 십시오.
       이 글 은 주로 세 가지 명령 을 설명 한다. if, test, exit.       if 명령 소개       if 명령 은 다음 명령 의 종료 상태 에 따라 해당 하 는 결정 을 내 립 니 다.그 문법 형식 은 다음 과 같다.
if commands; then
commands
[elif commands; then
commands...]
[else
commands]
fi

       왜 좀 이해 가 안 되 는 것 같 지? 걱정 하지 마. 뒤에 실례 가 있 을 거 야.       먼저 명령 의 종료 상 태 를 말씀 드 리 겠 습 니 다. 모든 명령 은 실 행 된 후에 해당 하 는 종료 상태 가 있 습 니 다. 0 ~ 255 의 한 숫자 로 0 은 이 명령 이 실 행 된 것 을 나타 내 고 다른 숫자 는 명령 수행 에 실 패 했 음 을 나타 냅 니 다.다음은 하나의 실례 를 통 해 느껴 보 겠 습 니 다.
jason@jason-Lenovo-Y50-70:~$ ls -d /usr/bin
/usr/bin
jason@jason-Lenovo-Y50-70:~$ echo $?
0
jason@jason-Lenovo-Y50-70:~$ ls -d /bin/usr
ls: cannot access /bin/usr: No such file or directory
jason@jason-Lenovo-Y50-70:~$ echo $?
2

       이 인 스 턴 스 에서 명령 "ls - d/usr/bin"이 성공 적 으로 실 행 된 다음 "echo $?"를 통 해 명령 "ls - d/usr/bin"의 종료 상 태 를 볼 수 있 습 니 다. 이 명령 이 성공 적 으로 실행 되 었 기 때문에 여기 서 얻 은 종료 상 태 는 0 입 니 다.명령 'ls - d/bin/usr' 에 대해 서 는 이 명령 을 실행 하 는 데 실 패 했 기 때문에 종료 상 태 는 0 이 아 닙 니 다.       그리고 Shell 에는 두 가지 간단 한 명령 이 있 습 니 다. true 와 false 입 니 다.true 명령 에 대응 하 는 종료 상 태 는 0 이 고 false 명령 에 대응 하 는 종료 상 태 는 1 입 니 다.다음 과 같이 보 여 줍 니 다.
jason@jason-Lenovo-Y50-70:~$ true
jason@jason-Lenovo-Y50-70:~$ echo $?
0
jason@jason-Lenovo-Y50-70:~$ false
jason@jason-Lenovo-Y50-70:~$ echo $?
1
jason@jason-Lenovo-Y50-70:~$ if true; then echo "It's true."; fi
It's true.
jason@jason-Lenovo-Y50-70:~$ if false; then echo "It's true."; fi
jason@jason-Lenovo-Y50-70:~$

       if 뒤의 명령 의 종료 상태 가 0 일 때 만 then 뒤의 명령 이 실 행 됩 니 다.
       2. test 명령 소개       test 명령 은 일반적으로 if 명령 과 함께 사용 합 니 다. test 명령 은 표현 식 결과 가 진짜 인지 가짜 인지 얻 는 데 사 용 됩 니 다. test 뒤의 표현 식 이 사실 이 라면 test 명령 의 종료 상 태 는 0 입 니 다. 그렇지 않 으 면 1 입 니 다.test 명령 은 두 가지 형식의 쓰기 가 있 습 니 다. 다음 과 같 습 니 다.
# First form
test expression

# Second form
[ expression ]

       두 번 째 형식의 쓰 기 는 test 라 는 키 워드 를 명확 하 게 쓰 지 는 않 았 지만 test 명령 의 한 형식 이 었 다.두 번 째 형식의 쓰기 에서 주의해 야 할 점 은 괄호 와 그 내부 의 표현 식 사이 의 빈 칸 은 생략 할 수 없습니다.
错误写法:
[expression]

正确写法:
[ expression ]

       test 명령 에 대해 서 는 test 뒤에 자주 사용 되 는 표현 식 을 제시 해 야 합 니 다. 이 표현 식 들 은 명령 행 에서 help test 명령 을 실행 하여 가 져 올 수 있 습 니 다. 사용 방식 은 간단 합 니 다.다음은 test 를 사용 하 는 인 스 턴 스 를 보 겠 습 니 다.
# Alternate form

if [ -f .bash_profile ]
then
    echo "You have a .bash_profile. Things are fine."
else
    echo "Yikes! You have no .bash_profile!"
fi

# Another alternate form

if [ -f .bash_profile ]
then echo "You have a .bash_profile. Things are fine."
else echo "Yikes! You have no .bash_profile!"
fi

       "- f. bash profile"표현 식 은 현재 디 렉 터 리 에. bash 가 있다 면profflee 파일 은 이 표현 식 의 결과 가 사실 입 니 다. 그렇지 않 으 면 가짜 입 니 다.또한 help test 명령 을 실행 하면 - f FILE 표현 식 의 역할 을 볼 수 있 습 니 다. - f FILE 표현 식 을 help test 결과 에 소개 하 는 것 을 아래 에 붙 여 넣 습 니 다.
-f FILE        True if file exists and is a regular file.

       3. exit 명령       Shell 스 크 립 트 에서 exit 명령 은 스 크 립 트 가 여기까지 실 행 될 때 바로 종료 할 수 있 고 exit 뒤에 있 는 종료 상태 코드 를 만 들 수 있 습 니 다. 예 를 들 어 "exit 0"이나 "exit 2"등 입 니 다.
관련 문서
http://linuxcommand.org/lc3_wss0080.php
이전 편: Shell Script (3): 변수, 상수, 포획 명령 결과 다음 편: Shell Script (5): 상호작용 과 산수 연산

좋은 웹페이지 즐겨찾기