bash shell if문 기본 문법
if [ expression 1 ]
then
expression 1 조건이 true이면 실행
elif [ expression 2 ]
then
expression 2 조건이 true이면 실행
else
그 외 나머지 경우에 실행
fi
예제)
#!/bin/sh
a=30
b=20
if [ $a == $b ]
then
echo "a와 b가 같으면 실행."
elif [ $a -gt $b ] # a > b
then
echo "a가 b보다 크면 실행."
elif [ $a -lt $b ] # a < b
then
echo "a가 b보다 작을 경우 실행."
else
echo "그 외 경우에 실행."
fi
산술 비교 연산자 | 의미 |
A -eq B | A와 B는 같다(=) |
A -ne B | A와 B는 같지 않다(!=) |
A -gt B | A는 B보다 크다(>) |
A -ge B | A는 B보다 크거나 같다(>=) |
A -lt B | A는 B보다 작다(<) |
A -le B | A는 B보다 작거나 같다(<= |
문자열 비교 연산자 | 의미 |
A == B | A와 B는 일치한다 |
A != B | A와 B는 일치하지 않는다 |
논리 비교 연산자 | 의미 |
A -a B | A and B, A && B |
A -o B | A or B, A || B |
파일 비교 연산자 | 의미 |
-d 파일 이름 | 파일이 디렉토리면 참(true) |
-e 파일 이름 | 파일이 존재하면 참(true) |
-f 파일 이름 | 파일이 일반 파일이면 참(true) |
-r 파일 이름 | 파일이 읽기 가능이면 참(true) |
-s 파일 이름 | 파일 크기가 0이 아니면 참(true) |
-w 파일 이름 | 파일이 쓰기 가능이면 참(true) |
-x 파일 이름 | 파일이 실행 가능이면 참(true) |
매개 변수
$# | 아규먼트 개수 |
$! | 실행을 위해 백그라운드로 보내진 마지막 프로그램 프로세스 번호 |
$$ | 쉘스크립트 PID |
$? | 실행한 뒤의 반환 값 (백그라운드로 실행된 것 제외) |
$_ | 지난 명령의 마지막 인자로 설정된 특수 변수 |
$- | 현재 shell이 호출될 때 사용한 옵션들 |
$* | 스크립트에 전달된 전체 인자 |
$@ | $* 와 동일한데 IFS 환경변수를 사용하지 않음 |