- exit
- 실행된 프로그램이 종료된 상태를 전달.
- exit <숫자>
- 0 : 프로그램 또는 명령이 성공적으로 종료했음을 의미
- 1~255 : 프로그램 또는 명령이 실패로 종료했음을 의미
- 1 : 일반 에러
- 2 : Syntax error
- 126 : 명령을 실행할 수 없음
- 127 : 명령(파일) 이 존재하지 않음
- 128+N : 종료 시그널 + N (kill-9PID 로 종료 시, 128 + 9 = 137)
- exit <숫자>
- 실행된 프로그램이 종료된 상태를 전달.
-
-
-
- $? : 종료값 출력
-
- example
- 0 : 정상 종료된 케이스
- 1 : 일반 에러
- 127 : 명령이 존재하지 않음
- 128+n : 종료시그널
- 0 : 정상 종료된 케이스
-
- test
- 비교연산자
- `test <명령어>` or `[명령어]`
- 명령어 실행 결과를 true(0) 또는 false(1) 로 리턴한다.
- test 명령어는 다양한 연사자를 지원한다. (help test)
- x -eq y : x==y
- x -gt y : x > y
- x -ge y : x >= t
- x -lt y : x < y
- x -le y : x <= y
- x -ne y : x != y
- -e file : 파일이 존재하면 true
- -d fiile : 파일이 디렉토리면 true
- -f file : 파일이 파일이면 true
- -x file : 파일 실행 가능하면 true
- Example
- 숫자 연산
- 파일 디렉토리 여부 확인
- 대괄호 사용
- 산술연산(expr, let)
- 숫자 연산
- 비교연산자
- if-then-fi
- 조건 명령어 .command 실행 결과에 따라 서로 다른 command를 실행함.
- if 조건1 → then 액션1 else 액션2 fi
- if /then 조건
- if / then / else 조건
- if /then 조건
- if 조건1 → then 액션1 else 액션2 fi
- 조건 명령어 .command 실행 결과에 따라 서로 다른 command를 실행함.
- case
- $var의 값에 따라 명령어를 실행
- case "$variable" in
pattern1) command1 ;;
pattern2) command2 ;;
*) command3 ;;
esac
- case "$variable" in
- Example
- 입력된 답변에 따라 출력
- 문자 시작 or 대문자 시작 모두 허용하기
[Yy]es) echo "System restart.";;
[Nn]o) echo "shutdown the system";;
*) echo "entered incorrectly";; - 입력된 값에 따라 결과 출력하기
- 값이 1, 2일 때는 정상 종료 (exit 값 0)
값이 그 외일 때는 에러 종료 (exit 값 1)
- 값이 1, 2일 때는 정상 종료 (exit 값 0)
- 입력된 답변에 따라 출력
- $var의 값에 따라 명령어를 실행
- 실습
- 입력 받은 디렉토리가 실제 디렉토리면 파일 목록을 /tmp/날짜.txt 파일에 저장.
실제 디렉토리가 아니면 It's not a directory 메시지 출력 - 결과
- 입력 받은 디렉토리가 실제 디렉토리면 파일 목록을 /tmp/날짜.txt 파일에 저장.
'쿠버네티스 > shell programming' 카테고리의 다른 글
8. looping (0) | 2024.04.12 |
---|---|
6. Input&Output (0) | 2024.04.11 |
5. Positional Parameters (0) | 2024.04.09 |
4. Bash shell script란 (0) | 2024.04.09 |
3. Bash shell과 Rules (0) | 2024.04.09 |