쉘 스크립트 반복문(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)
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
'컴퓨터 활용(한글, 오피스 등) > 50_2.운영체제_리눅스' 카테고리의 다른 글
리눅스_아파치 포트 변경 (0) | 2022.12.01 |
---|---|
리눅스_우분투_두루팔9 설치 (1) | 2022.12.01 |
리눅스_프로젝트 관리 시스템(Redmine) 설치 (0) | 2022.11.30 |
리눅스_SSH 22포트로 LOGIN시 Access denied가 뜰 때 (0) | 2022.11.29 |
리눅스_명령어 모음 (0) | 2022.11.26 |