1. 조건식.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
[ -z 문자열 ]: 문자열의 길이가 0인지 비교
[ -n 문자열 ]: 문자열의 길이가 0이 아닌지 비교
[ 문자열1 == 문자열2 ]: 문자열이 같은지 비교
[ 문자열1 != 문자열2 ]: 문자열이 다른지 비교
[ 값1 -eq 값2 ]: 두 값이 같은지 비교
[ 값1 -ne 값2 ]: 두 값이 다른지 비교
[ 값1 -gt 값2 ]: 값1 > 값2
[ 값1 -ge 값2 ]: 값1 >= 값2
[ 값1 -lt 값2 ]: 값1 < 값2
[ 값1 -le 값2 ]: 값1 <= 값2
[ -e 파일 ]: 파일인지 확인
[ -d 파일 ]: 파일이 디렉토리인지 확인
[ -L 파일 ]: 파일이 심볼릭 링크인지 확인
[ -r 파일 ]: 읽기 가능한 파일인지 확인
[ -w 파일 ]: 쓰기 가능한 파일인지 확인
[ -x 파일 ]: 실행 가능한 파일인지 확인
[ -s 파일 ]: 파일의 크기 0보다 큰지 확인
[ 파일1 -nt 파일2 ]: 파일1이 파일2보다 최신 파일인지 확인
[ 파일1 -ot 파일2 ]: 파일1이 파일2보다 이전 파일인지 확인
[ 파일1 -ef 파일2 ]: 파일1과 파일2가 같은 파일인지 확인
[ 조건식1 -a 조건식2 ]: AND 연산
[ 조건식1 -o 조건식2 ]: OR 연산
|
cs |
2. IF문.
2-1. 문법.
1
2
3
4
5
6
7
8
|
if [ 조건식1 ]; then
# to something...
elif [ 조건식2 ]; then
# to something...
else
# to something...
fi
|
cs |
2-2. IF~ELSE 예제.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# 문자열비교
if [ 'ABCDE' == 'abcde' ]; then
echo '같은 문자열입니다.'
else
echo '다른 문자열입니다.'
fi
# 수치비교
if [ 1 -gt 2 ]; then
echo '1은 2보다 큽니다.'
else
echo '1은 2보다 작거나 같습니다.'
fi
|
cs |
2-3. 중첩IF 예제.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# 수치비교
num1=10
num2=20
if [ -z $num1 -o -z $num2 ]; then
echo 'num1 또는 num2가 0입니다.'
elif [ -n $num1 -a -n $num2 ]; then
echo 'num1과 num2는 0이 아닙니다.'
if [ $num1 -eq $num2 ]; then
echo 'num1과 num2는 같습니다.'
elif [ $num1 -gt $num2 ]; then
echo 'num1은 num2보다 큽니다.'
elif [ $num1 -lt $num2 ]; then
echo 'num1은 num2보다 작습니다.'
else
echo '일치하는 조건이 없습니다.'
fi
fi
|
cs |
3. CASE IN문
3-1. 문법.
1
2
3
4
5
6
7
8
9
10
11
12
|
case 기준값 in
비교값1 )
#do someting...
;;
비교값2 )
#do someting...
;;
* )
#default
#do something...
;;
esac
|
cs |
3-2. 기본 예제.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
text='yyyyYYYyy'
case $text in
1)
echo '숫자 비교'
;;
'n')
echo '문자 비교'
;;
'string')
echo '문자열 비교'
;;
[yY]*)
echo '표현식 비교'
echo '[yY]*: y 또는 Y가 한개 이상일 때'
;;
* )
echo '기본값'
;;
esac
|
cs |
3-3. 활용 예제.
- Y/N을 입력받아 터미널을 총료.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#CASE IN
read -p '종료하시겠습니까(Y/N)?' kill_yn
case $kill_yn in
'Y')
echo '3초 뒤에 터미널을 종료합니다.'
sleep 3s
exit;
;;
'N')
echo '종료를 취소합니다.'
;;
*)
echo "${kill_yn}은 사용할 수 없습니다."
;;
esac
|
cs |
'Back-end > Script' 카테고리의 다른 글
[Shell] 자주사용하는 명령어 정리 (0) | 2020.02.10 |
---|---|
[Shell] Arguments 사용하기 (0) | 2020.02.06 |
[Shell] 알파벳 대소문자 변경 (0) | 2020.02.06 |
댓글