본문 바로가기
컴퓨터 활용(한글, 오피스 등)/50_2.운영체제_리눅스

리눅스_쉘 스크립트_반복문(for 문)

by 3604 2022. 12. 1.
728x90

쉘 스크립트 반복문(for 문)

 출처: https://kugancity.tistory.com/entry/shell-script-for-%EB%AC%B8-%EC%82%AC%EC%9A%A9-%EC%98%88%EC%8B%9C

for i in tmp tmp/pdf public/plugin_assets; do [ -d $i ] || mkdir -p $i; done

쉘 스크립트에서 for문 사용 예시 


- 기본 

#!/bin/bash

for i in 1 2 3 4 5

do

   echo "Welcome $i times"

done


- 배열 사용하기 

#!/bin/bash

arrayname=(value1 value2) 


for i in ${arrayname[@]}

do
   echo "Welcome $i times"

done



- 숫자범위 사용하기 

#!/bin/bash

for i in {2000..2011};do echo " $i times";done



- 명령어 결과 사용하기 

#!/bin/bash

for entry in $stockdir/*;do echo " $entry times";done



- 일반 반복문 형식 사용하기

#!/bin/bash

for (( i=0; i<100; i++ ));do echo " $i times";done



#!/bin/bash

for (( i=0; i<100; i=i+5 ))

  do

    j=$((i + 4));

    echo "alter table 테이블이름 add column age_"$i"_"$j"_totalcnt bigint DEFAULT NULL;";

    echo "COMMENT ON COLUMN 테이블이름.age_"$i"_"$j"_totalcnt IS '"$i" - "$j"세 총 인구수';"

done

 

 

Bash Shell - 반복문(for, while, until loop)

출처: https://codechacha.com/ko/shell-script-loop/

Linux의 Bash Shell script에서 아래와 같이 다양한 반복문을 사용하는 방법에 대해서 소개합니다.

  • while
  • for
  • until

1. while Loop

다음은 while loop의 syntax입니다. condition이 True이면 반복하며, False이면 반복문을 종료합니다.

while [ condition ]
do
   Statements
done

다음은 while 반복문으로 1에서 5까지 출력하는 예제입니다.

반복문의 condition [ "$a" -lt 5 ]는 $a < 5를 의미합니다. 그리고 $(expr $a + 1)는 $a에 1을 더하는 연산을 의미합니다.

#!/bin/bash

a=0
while [ "$a" -lt 5 ]
do
    a=$(expr $a + 1)
    echo $a
done

Output:

$ bash example.sh
1
2
3
4
5

2. while Loop (Infinite loop)

아래 코드에서 while 옆의 :는 True를 의미하며, 따라서 반복문은 종료되지 않고 무한히 반복합니다. Ctrl + C로 프로그램을 종료시킬 수 있습니다.

#!/bin/bash

while :
do
  echo "Please type something in (^C to quit)"
  read INPUT_STRING
  echo "You typed: $INPUT_STRING"
done
$ bash example.sh
Please type something in (^C to quit)
aaa
You typed: aaa
Please type something in (^C to quit)
bbb
You typed: bbb
Please type something in (^C to quit)
^C

3. for Loop

다음은 for 반복문의 Syntax입니다.

for loop는 in 다음에 입력된 변수들의 개수만큼 반복합니다. Loop가 반복될 때마다 var에 wordN가 할당됩니다.

for var in word1 word2 ... wordN
do
  Statements
done

아래 예제를 보시면, for loop가 어떻게 동작하는지 쉽게 이해할 수 있습니다.

#!/bin/bash

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

Output:

$ bash example.sh
1
2
3
4
5

그리고, in 다음에는 숫자가 아닌 문자도 가능합니다.

#!/bin/bash

for var in 1 2 a 4 HELLO
do
    echo $var
done

Output:

$ bash example.sh
1
2
a
4
HELLO

4. until Loop

다음은 until loop의 Syntax입니다. condition이 False일 때 반복하며, True이면 반복문을 종료합니다.

until은 조건이 반대라는 것을 제외하고 while과 동일합니다. 즉, until [ ! condition ]이 while [ condition ]과 같이 동작합니다.

until [ condition ]
do
   Statements
done

다음은 until loop로 1~5를 출력하는 예제입니다.

코드에서 [ $a -ge 5 ]는 $a >= 5를 의미합니다. 즉, $a가 5가 될 때까지 반복합니다.

#!/bin/bash

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

Output:

$ bash example.sh
1
2
3
4
5

References

728x90