리눅스

#64. 쉘 스크립트의 조건문과 반복문

story0689 2026. 6. 17. 00:03

 


목차(T.O.C)

1. 쉘 스크립트의 조건문
1-1. test 명령어
1-2. test 명령어 대신 대괄호 이용
2. case in 으로 조건문 만들기
2-1. case 키워드

3. 쉘 스크립트의 수식계산
3-1. expr 명령어
3-2. let 명령어

3-3. (( )) 구문


4. 쉘 스크립트의 반복문 
4-1. for 키워드
4-2. while , until 키워드

 

쉘 스크립트의 조건문과 반복문

 

 

 

1. 쉘 스크립트의 조건문

배쉬의 if 문의 특이한 점은 fi 와 대괄호[] 이다

여타 언어와 달리 중괄호를 안쓰기 때문에 fi 로 if 문의 끝을 알려주어야하며,

주의해야할 점은 if 문 뒤에 나오는 대괄호 []와 조건식 사이에는 반드시 공백이 존재한다.

1-1. test 명령어

test 명령어는 조건식을 평가해 참 또는 거짓을 반환하며, 조건식에는 파일, 문자열, 숫자에 대한 검사 및 비교가 가능.

test [옵션] [조건식]

조건식에는 파일, 문자열, 숫자에 대한 검사 및 비교가 가능

1. if else로 조건문 만들기 -> 거짓인 경우에도 실행할 수 있도록!

2. test 명령어의 파일비교-> 옵션을 사용한다.

존재여부/ 파일인지 디렉터리인지/ 권한을 체크

3. test 명령어의 문자열과 숫자 비교

문자열 비교시 변수 양쪽에 큰 따옴표를 추가해야 공백 등의 이유로 오류가 발생하는 것을 예방할 수 있음.

str 내에 빈 공백이 있다면 따옴표를 추가해야한다.

1-2. test 명령어 대신 대괄호 사용

test 명령어 없이 대괄호 사이에 옵션과 조건식을 사용할 수 있음

이떄, 대괄호 양쪽으로는 공백을 둔다.

 

 

2. case 키워드로 조건문 만들기

 

2-1. case 키워드 

case 구문은 여러 조건 중 하나를 선택해 작업을 실행할 수 있는 방법

각case문의 끝에 세미콜론 2개로 끝난다

 

 

3. 쉘 스크립트의 수식계산

쉘 스크립트 변수 산술연산은 다른 언어에 비해 간단치 않다

bash 변수는 본질적으로 문자열이라 별도의 특수문법을 사용해 연산을 해야한다.

그러면 bash가 알아서 형변환 하여 정수 연산이나 변수를 비교해준다

 

3-1. 쉘 스크립트의 수식계산 expr 명령어

expr 명령어로 덧셈, 뺄셈, 곱셈, 나눗셈과 같은 산술연산을 수행할 수 있음

피연산자와 연산자 사이에 공백이 필요하다.

연산자 우선순위를 위해 괄호를 사용하려면 \처리를 해줘야한다.

곱셈문자는 \처리를 해줘야한다.\*

1.  expr 명령어는 연산과정을 변수=$(expr 수식) 형태로 다시 변수에 저장할 수 있음

2.let 명령어

let 명령어는 expr 명령어와 달리 연산결과를 변수에 저장할 때, $를 포함하지 않아도됨.

3. (( )) 구문

오늘 날 가장 많이 사용되는 수식표현법, 공백없는 expr 과 유사함.

이중괄호 안에는 수식이나 비교 표현식이 들어갈 수 있다

 

~ 비트부정

| 비트 단위 or

& 비트 단위 and

 

! 논리부정

|| 논리 or

&& 논리 and

 

 

 

4. 쉘 스크립트 반복문

 

4-1. 반복문을 위한 for 키워드

정해진 반복 횟수가 있을 때 사용하는 반복문

1. 리스트 대신 시작숫자와 종료숫자를 {시작숫자..종료숫자}로 표현함

2. 반복 횟수를 현대식 for 반복문으로 표기하는 방법

 

4-2. while, until 키워드

while 반복문과 until 반복문은 조건이 참 또는 거짓인 동안 반복문을 수행함

숫자 1부터 5까지 출력하는 프로그램

 

'리눅스' 카테고리의 다른 글

#62. 셸 스크립트  (0) 2026.06.16
#61. 프로세스와 셸 변수와 환경변수  (0) 2026.06.16
#56. 리눅스 명령어  (0) 2026.05.18
#55. 가상화  (0) 2026.05.18