11. 쉘 프로그래밍에서 순차적 반복문 for를 제공합니다.

안녕하세요. 언제나 휴일, 언휴예요.

앞에서 while 반복문과 until 반복문을 알아봤어요. 두 개의 반복문 모두 조건 표현에 따라 반복 수행 여부를 결정하였습니다. while 반복문은 조건 표현이 참이면 반복 수행, until은 거짓이면 반복 수행하였죠.

for 반복문은 여러 가지 값을 순차적으로 변수에 설정하여 반복하는 구문이예요. for문을 사용하는 방법은 여러 가지 있으니 하나 하나 살펴보기로 할게요.

  • for 변수 in 값1 값2 값3 …

첫 번째로 for 키워드와 in 사이에 변수명을 명시하고 in 뒤에 값을 기재하여 해당 변수가 in 뒤에 열거한 값을 순차적으로 설정하여 수행하는 예를 살펴볼게요.

for 변수 in 값1 값2 값3 …

do

반복 수행할 구문

done

다음은 정수를 입력 받아 입력한 단을 출력하는 예제입니다.

#for1_sh
#쉘 프로그래밍 실습
#for 변수 in 값1 값2 값3 ...
#작성자 : eh. jang
echo 단:
read num

for n2 in 1 2 3 4 5 6 7 8 9
do
    let re=num*n2
    echo “$num * $n2 =  $re”
done
[그림 1] for 문 사용 예1
[그림 1] for 문 사용 예1
  • for 변수 in {구간 시작..구간 끝}

for 문으로 구간 내의 값을 순차적으로 변수에 설정하여 반복 수행하게 할 수도 있습니다. 이 때 in 뒤에 구간을 명시합니다. 구간은 괄호 안에 구간의 시작 .. 끝을 명시합니다.

for 변수 in {구간 시작 .. 구간 끝}

do

반복 수행할 구문

done

다음은 정수를 입력 받아 입력한 단을 출력하는 예제입니다.

#for2_sh
#쉘 프로그래밍 실습
#for 변수 in {구간 시작 .. 구간 끝}
#작성자 : eh. jang
echo 단:
read num

for n2 in {1..9}
do
    let re=num*n2
    echo “$num * $n2 =  $re”
done
[그림 2] for 문 사용 예2
[그림 2] for 문 사용 예2
  • for 변수 in {구간 시작..구간 끝..간격}

for 문으로 구간 내의 값을 순차적으로 변수에 설정하여 반복 수행할 때 값을 변경하는 간격을 설정할 수도 있습니다. 간격은 구간 끝 뒤에 ..을 명시한 후에 간격을 표시합니다.

for 변수 in {구간 시작 .. 구간 끝..간격}

do

반복 수행할 구문

done

다음은 정수를 입력 받아 해당 단을 2간격으로(1,3,5,7,9) 출력하는 예제입니다.

#for3_sh
#쉘 프로그래밍 실습
#for 변수 in {구간 시작 .. 구간 끝..간격}
#작성자 : eh. jang
echo 단:
read num

for n2 in {1..9..2}
do
    let re=num*n2
    echo “$num * $n2 =  $re”
done
[그림 3] for 문 사용 예3
[그림 3] for 문 사용 예3
  • for ((초기 구문; 조건 구문; 변화 구문))

for 문으로 초기 구문, 조건 구문, 변화 구문을 명시하여 반복문을 표현할 수 있어요. 이는 C언어의 for문과 비슷합니다. 초기 구문은 단 한번 수행하는 구문입니다. 그리고 조건 구문이 참이면 반복 수행할 구문을 수행합니다. 그리고 변화 구문을 수행합니다. 변화 구문을 수행한 후에 다시 조건 구문이 참인지 판별하여 참일 때 다시 반복 수행합니다.

for ((초기 구문; 조건 구문; 변화 구문))

do

반복 수행할 구문

done

다음은 정수를 입력 받아 해당 단을 출력하는 예제입니다.

#for4_sh
#쉘 프로그래밍 실습
#for ((초기 구문; 조건 구문; 변화 구문))
#작성자 : eh. jang
echo 단:
read num

for ((n2=0; n2<=9; n2++))
do
    let re=num*n2
    echo “$num * $n2 =  $re”
done
[그림 4] for 문 사용 예4
[그림 4] for 문 사용 예4