for문
조건문 다음에는 반복문이다, for문의 기본적인 형태는 두가지가 존재한다.
첫번째로는 파이썬과 같이 in 키워드를 사용하여 표현하는 것이다.
for 변수 in [ 범위(리스트, 또는 배열, 그 외의 묶음 등) ]
do
수행문
done
어떤것을 순회할지 in 뒤에 명시해준다 이후 do안에 수행문을 작성하고 done으로 for문의 끝을 알려준다.
두번째로는 C나Java에서 for문을 표현하는 고전적인 형태이다.
for ((변수=초기값; 조건식; 증가값))
do
수행문
done
일반적으로 아는 for문의 형태로 표현한다.
for문 예제
1) in 을 사용한 기본 사용법
#!/bin/bash
for num in 1 2 3
do
echo $num
done
#!/bin/bash
numbers="1 2 3"
for num in $numbers
do
echo $num
done
in 뒤에 위와 같이 순회할 요소들을 명시하거나, 또는 그 값을 변수에 저장해서 순회할 수 있다.
2) 범위를 디렉토리로 사용할 경우
범위에 경로를 넣어 디렉토리에 있는 파일들을 순회할수도 있다. 아래는 환경변수 HOME 을 사용하여 그 아래에 있는 파일들을 출력했다.
#!/bin/bash
echo $HOME
for file in $HOME/*
do
echo $file
done
3) 범위에 중괄호 사용
in 뒤에 중괄호 {} 를 사용하여 범위를 지정해줄 수 있다.
#!/bin/bash
for num in {1..5} # 1부터 5까지 1씩 증가하면서 num에 할당해준다.
do
echo $num
done
#!/bin/bash
for num in {1..10..2} # 1부터 10까지 2씩 증가하면서 num에 할당해준다.
do
echo $num
done
위와 같이 중괄호를 사용하면 for(변수;조건식;증감) 식을 대신할 수 있을 거 같다.
4) 범위에 배열 사용
배열을 범위에 사용할 수도 있다. 단 범위로 배열을 사용하는 경우에는 값 사이에 쉼표를 사용하면 안된다. 그리고 모든 요소들을 순회하기 위해서는 ${배열명[@]} 을 사용하여 배열의 모든 요소를 사용한다고 명시해주어야 한다.
#!/bin/bash
array=("apple" "banana" "pineapple")
for fruit in ${array[@]}
do
echo $fruit
done
5) 소괄호문 for
C언어에서 사용하는 정통적인 방식인 소괄호를 이용한 for문 예제이다.
#!/bin/bash
for((num=0; num<3; num++))
do
echo $num
done
While 문
while문 또한 지원된다. 조건은 if문과 유사하게 대괄호로 표시하고 조건이 맞으면 계속 수행하고 아니라면 벗어난다.
while [ 조건식 ]
do
수행문
done
#!/bin/bash
num=0
while [ $num -lt 5 ]
do
echo $num
num=$((num+1))
done
# 위 내용은 "처음배우는 쉘 스크립트" 를 공부하고 정리한 내용입니다.
'쉘 스크립트' 카테고리의 다른 글
[쉘 스크립트] if문 / switch-case문 (0) | 2023.10.09 |
---|---|
[쉘 스크립트] 변수와 함수 기초 문법 (0) | 2023.10.08 |
[쉘 스크립트] Syntax error: "(" unexpected 에러 (0) | 2023.10.08 |