반응형

조건문 IF 형식

 

 

 

if [조건]; then

Action

fi

 

 

 

 

 

존재하는 파일인가.

이 파일이 directory인지 아닌지 True/false 반환

 

일반적인 읽고 쓸 수 있는 파일인가.

 

 

 

 

 

 

읽거나/ 쓸 수 있는 파일인가.

 

 

실행파일인가.

 

 

 

 

간단한 실습

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#! /bin/bash
 
echo " Enter any color code [ R or Y or G] : "
read COLOR
echo $COLOR
 
 
if [ "$COLOR" == "R" ]
then
echo "STOP! LEAVE WAY FOR OTHERS"
elif [ "$COLOR" == "Y" ]
then
echo "get ready your way will be open shotly"
elif [ "$COLOR" == "G" ]
then
echo "Move.. It is your turn to go"
else
echo "Incorrect color code"
 
fi
 

 

 

 

 

위 코드는 신호등의 세가지 색을 입력하면 R,Y,G 중 어떤 코드인지 확인 후 해당 결과를 출력하는 코드다.

 

우선, 입력을 read로 받은 뒤 COLOR라는 변수에 저장한다. 변수를 사용할 때는 변수 명 앞에 $를 붙여야 하고, 대입이나 수정시에는 $ 없이 사용한다.

 

if, then, elif, fi를 이용해 조건문을 만든다.

 

 

 

 

결과

 

 

 

 

 

 

 

 

 

 

 

Numerical test

 

다음의 산술연산자를 지원한다.

 

 

 

==

 

!=

>

 

< 

>=

 

<=

 

 

세가지 utility가 존재한다.

 

1. expr을 이용.

 

 

 

 

2. $((     ))를 이용

 

 

 

 

3. let 사용

 

 

 

 

 

 

 

 

 

 

간단한 실습

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#! /bin/bash
 
echo "Enter your age: "
read age
 
if [ $age -lt 20 ] || [ $age -gt 50 ] ; then
        echo "Sorry. you are out of the age range."
elif [ $age -ge 20 ] && [ $age -le 30 ]; then
        echo "You are in your 20s."
elif [ $age -ge 30 ] && [ $age -le 40 ]; then
        echo "You are in your 30s."
elif [ $age -ge 40 ] && [ $age -le 50 ]; then
        echo "You are in your 40s."
fi
 

 

 

 

 

 

 

나이를 입력하면 20대, 30대, 40대인지 구분하고, 그 외의 나이가 입력되면 "You are out of the range."라는 결과를 출력한다.

 

 

 

 

반응형

+ Recent posts