티스토리 뷰

반응형

이번 글에서는 연산자, 조건 및 반복에 대해서 살펴보는 글을 적어보려 합니다. 이전 글은 바로 아래에 링크로 걸어두겠으니 필요하신 분들은 확인해보시면 좋을 것 같습니다~

https://abbo.tistory.com/454

 

[Shell Script] 1탄 - 기본 설정과 명령어에 대해 알아보기

최근에 부쩍 DevOps와 관련된 컨텐츠를 작성하면서 자연스럽게 Linux 공부를 진행하던 와중, Shell Script라고 하는 Command Line Interface의 파일 관리를 집중적으로 하게 되었습니다. 그렇다보니 Shell Script

abbo.tistory.com

 

1. 오퍼레이터 (연산자) 

기본적으로 연산자를 표현하는 방법은 expr ${숫자} ${연산자} ${숫자} 로 표현하게 되고 ${연산자}에 아래 표의 연산자 기호를 넣어주면 됩니다.

연산자 기호 의미 예시 결과
+ 더하기 expr 10 + 20 30
- 빼기 expr 30 - 10 20
* expr 10 * 3  30
/ 나눔 expr 30 / 5 6
% 나머지 28 % 3 1
= 저장 (set) a = 4 4
== 동등 3 == 3 true
!= 차이 4 != 4 false

아래는 문자열로 된 비교 연산자 입니다.

비교 연산자 의미 예시 결과
-eq 동등 ["$a" -eq "abc"] abc와 같으면 true
-ne 다름 ["$a" -ne "bcd"] bcd와 같지 않으면 true
-gt 보다 큼 ["$a" -gt 30] 30 초과이면 true
-lt 보다 작음  ["$a" -lt 50] 50 미만이면 true
-ge 보다 크거나 같음 ["$a" -ge 40] 40 이상이면 true
-le 보다 작거나 같음 ["$a" -le 100] 100보다 작으면 true
! 부정 [ ! "$a" -gt 40 ] 40 초과이면 false
-o 양쪽 다 (OR과 같음) ["$a" -ge 30 -o "$a" -lt 10 ] 30 이상이거나 10미만이면 true
-a 둘 다 모두 (AND와 같음) ["$a" -gt 15 -a "$a" -le 30]  15 초과이고 30 이하일 때 true
-z 빈 문자열 체크 [ -z "" ] true
-n 빈 문자열이 아님 체크 [ -n "" ] false

 

2. 조건문(if)

이제 if else 문법을 알아보고자 합니다. 기본적인 조건문의 사용법은 if [condition] then $command fi 입니다.

if [ -z "$a" ] then
   echo "variable a is empty"
fi

 

그럼 또 다른 조건인 else if에 대해서 알아보겠습니다. elif 로 사용하며 사용법은 아래와 같습니다.

if [ -z "$a" ] then
   echo "variable a is empty"
elif ["$a" -eq "test"] then
	echo "variable a is set test"
fi

 

마지막으로 else 문은 조건이 없이 그대로 사용합니다.

if [ -z "$a" ] then
   echo "variable a is empty"
elif ["$a" -eq "test"] then
	echo "variable a is set test"
else 
	echo "variable a is $a"
fi

 

3. 조건문(switch)

switch 문도 존재합니다. 기본적인 작성법은 case $var in [condition]) command ;; esac 입니다.

#!/bin/sh

case "$var" in
	"") echo "var is null"
    ;;
    "abc") echo "var is abc"
    ;;
    "string") echo "var is string"
    ;;
esac

 


 

4. 반복문 (while)

while 반복문은 조건이 끝나는 시점에 종료되는 것은 Java와 같습니다. 

#!/bin/sh

a=0
while [$a -lt 10]
do 
	echo $a
    a=`expr $a + 1`
done

결과로는 0~9까지 나온 뒤 종료됩니다.

 

5. 반복문 (until)

특이하게도 until 문이라는 것이 존재합니다. while 문과는 다르게 반대 조건이 성립될 때까지 수행됩니다.

#!/bin/sh

a=0
until [ $a -ge 5]
do
	echo $a
    a=`expr $a + 1`
done

결과로는 0~4까지 나온 뒤 종료됩니다.

 

6. 반복문 (foreach)

foreach 반복문의 기본 작성법은 for $var in [$range] do command done의 순서로 작성됩니다.

#!/bin/sh

for var in 0 1 2 3 4
do
	echo $var
done

결과로는 0~4까지 출력됩니다. 위와 같은 문법은 아래와 같습니다.

#!/bin/sh

for var in {0..4}
do
	echo $var
done

 


 

오늘은 이렇게 스크립트에서 꼭 필수적인 반복문과 조건문, 그리고 어떻게 실행되는지 편의에 맞게 작성이 가능한 방법에 대해 적어보았습니다. 보다 많은 개발자분들이 적극적으로 스크립트를 활용하여 자동화 배포 기술을 더 널리 사용해보시면 좋을 것 같습니다 :) 

 

출처: https://engineer-mole.tistory.com/200

반응형
댓글
공지사항