
1. 인자 · 파라미터
#!/bin/sh echo "number of parameter: $#" echo "1st parameter: $1" echo "all parameter: $@"
표현 | 의미 | 예제 |
$# | 파라미터 개수 | |
$1, $2, ... | n번째 파라미터 값 | |
$@ | 전체 파라미터 |
2. if문
#!/bin/sh a=3 if [ ${a} -eq 3 ]; then echo "a is 3" else echo "a is not 3" fi
표현 | 의미 | 예시 |
-z | 문자열 길이가 0임 | ![]() (변수 b는 정의되어 있지 않음) |
-n | 문자열 길이가 0이 아님 | ![]() |
-eq | 값이 같음 (==) | |
-ne | 값이 다름 (!=) | |
-gt | value 1 > value 2 | |
-ge | value 1 >= value 2 | |
-lt | value 1 < value 2 | |
-le | value 1 <= value 2 | |
-a | and 연산 (&&) | |
-o | xor 연산 (||) | |
-d | 디렉토리가 있음 | |
-e | 파일이 있음 | |
-L | 심볼릭 링크임 | |
-r | 읽기가 가능함 | |
-s | 파일 크기가 0보다 큼 | |
-w | 쓰기 가능함 | |
-x | 실행 가능함 | |
-nt | value 1이 value 2보다 최신 파일임 | |
-ot | value 1이 value 2보다 이전 파일임 | |
-ef | 같은 파일임 |
2-1. if문 조건문 OR, AND 사용
if [ 조건 ] && [ 조건 ]; then 내용 fi
if [ 조건 ] || [ 조건 ]; then 내용 fi
여러 개의 조건을 사용하는 것 또한 가능하다.
3. 예제 - if문 사용하여 파라미터 개수 확인
#!/bin/sh if [ $# -ne 1 ] ; then echo "number of parameter is not 1" exit 0 fi echo "number of parameter is 1"
L3 파라미터 개수가 1이 아닐 때
L4 메시지 출력
L5 종료
L6 if문 종료
L8 if문에서 종료되지 않은 경우(파라미터 개수가 1일 때) 실행되는 커맨드