Linux

[Shell] Linux Shell Script 작성하기 - 파라미터, IF문

elisom 2021. 12. 10. (Last updated:

 

 

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일 때) 실행되는 커맨드