01 if 문 기본 사용법
1. 기본 형식
- Shell에서 while문의 조건식은 문자로 표기되어있음
- 예) ( <, >, = ) 기호가 ( -eq, -lt ) 로 표기됨
- while 다음에 do, done으로 끝맺힘
- [ ] 안에 값/조건식 앞뒤로 공백 없으면 스크립트 에러가 나므로 유의
while [ 값1 조건식 값2 ]
do
수행문
수행문
done
- 예시
#! /bin/ksh
i=1
while [ $i -lt 5 ]
do
echo $i
i=$(($i+1))
done
- -lt: less than
- 즉, i가 5보다 작으면 계속 i 출
- 출력값: 1 2 3 4
2. 조건문 종류
비교 대상 | 종류 | 설명 | 예 |
문자열 |
[ -z ] | 문자열의 길이가 0이면 참 | [ -z $VALUE ] |
[ -n ] | 문자열의 길이가 0이 아니면 참 | [ -n $VALUE ] | |
== | 문자열이 같으면 참 | ||
!= | 문자열이 다르면 참 | ||
< | 왼쪽의 문자열이 오른쪽의 문자열보다 정렬 시 선행되면 참 | ||
> | 오른쪽의 문자열이 왼쪽의 문자열보다 정렬 시 선행되면 참 | ||
조건식 | [ -a ] | && 또는 and 와 동일, 조건식1과 조건식2 모두 참이면 참 | |
[ -o ] | || 또는 xor과 동일, 조건식1과 조건식2 중 하나라도 참이면 참 | ||
숫자 |
[ -eq ] | 값이 같으면 참 | |
[ -ne ] | 값이 다르면 참 | ||
[ -gt ] | 값1 > 값2 | ||
[ -ge ] | 값1 >= 값2 | ||
[ -lt ] | 값1 < 값2 | ||
[ -le ] | 값1 <= 값2 | ||
파일 |
[ -d ] | 파일이 디렉토리면 참 directory | |
[ -e ] | 파일이 있으면 참 exist | ||
[ -f ] | 파일이 일반 파일 (regular file)이면 참 file | ||
[ -g ] | 파일명이 set-group-id 설정이 되면 참 | ||
[ -L ] | 파일이 심볼릭 링크면 참 symbolic Link | ||
[ -r ] | 파일이 본인 권한으로 읽기 가능하면 참 readable | ||
[ -s ] | 파일의 크기가 0보다 크면 참 size | ||
[ -S ] | 파일이 소켓이면 참 socket | ||
[ -u ] | 파일명이 set-user-id 설정이 되면 참 | ||
[ -w ] | 파일이 본인 권한으로 쓰기 가능하면 참 writeable | ||
[ -x ] | 파일이 본인 권한으로 실행 가능하면 참 executeable | ||
[ 파일1 -nt 파일2 ] | 파일1이 파일2보다 최신파일이면 참 | ||
[ 파일1 -ot 파일2 ] | 파일1이 파일2보다 이전파일이면 참 | ||
[ 파일1 -ef 파일2 ] | 파일1이 파일2랑 같은 파일이면 |
참조
'Shell' 카테고리의 다른 글
fatal (exit code variable 종료 상태 변수) (0) | 2024.06.07 |
---|---|
test (파일 확인 명령어) (1) | 2024.06.05 |
Shell Script 함수 만들기 (0) | 2024.04.30 |
Shell 변수 (variable) (0) | 2024.04.30 |
Shell, Shell Script, .sh란 (0) | 2024.04.30 |