이번 주제에서는 for 루프 Bash 스크립트에서.
다른 프로그래밍 언어와 마찬가지로 bash 쉘 스크립팅은 반복 작업을 수행하기 위해 'for 루프'도 지원합니다. 이는 문자열의 일련의 단어나 배열의 요소에 대해 특정 명령문 세트를 반복하는 데 도움이 됩니다. 예를 들어, UNIX 명령(또는 작업)을 여러 번 실행하거나 'for 루프'를 사용하여 명령 목록을 읽고 처리할 수 있습니다.
For 루프의 구문
두 가지 방법으로 bash 스크립트에 'for 루프'를 적용할 수 있습니다. 한 가지 방법은 'for-in'이고 다른 방법은 C 스타일 구문입니다. 다음은 Bash 쉘 스크립팅의 'for 루프' 구문입니다.
for variable in list do commands done
또는
for (( expression1; expression2; expression3 )) do commands done
'for 루프' 문의 몇 가지 핵심 사항이 있습니다.
- Bash에서 'for 루프'의 각 블록은 'do' 키워드로 시작하고 그 뒤에 블록 내부의 명령이 옵니다. 'for 루프' 문은 'done' 키워드로 닫힙니다.
- 'for 루프'가 반복되는 시간은 선언된 목록 변수에 따라 다릅니다.
- 루프는 목록에서 하나의 항목을 선택하고 루프 내에서 사용될 변수에 값을 할당합니다.
- 'do'와 'done' 사이의 명령을 실행한 후 루프는 맨 위로 돌아가 목록에서 다음 항목을 선택하고 전체 프로세스를 반복합니다.
- 목록에는 공백으로 구분된 숫자나 문자열 등이 포함될 수 있습니다.
작동 방식을 설명하기 위해 'for 루프' 예제 중 일부가 아래에 제공됩니다.
기본 'For 루프' 예제
배시 스크립트
#!/bin/bash #This is the basic example of 'for loop'. learn='Start learning from Javatpoint.' for learn in $learn do echo $learn done echo 'Thank You.'
산출
범위를 읽는 For 루프
배시 스크립트
#!/bin/bash #This is the basic example to print a series of numbers from 1 to 10. for num in {1..10} do echo $num done echo 'Series of numbers from 1 to 10.'
산출
증가/감소로 범위를 읽는 For 루프
두 개의 다른 점(..)과 단계별 값을 추가하여 지정된 값을 늘리거나 줄일 수 있습니다(예: {START..END..INCREMENT}). 아래 예를 확인하세요.
증분용
#!/bin/bash #For Loop to Read a Range with Increment for num in {1..10..1} do echo $num done
산출
감소용
#!/bin/bash #For Loop to Read a Range with Decrement for num in {10..0..1} do echo $num done
산출
배열 변수를 읽는 For 루프
배열의 값을 반복하기 위해 'for 루프'를 사용할 수 있습니다.
자바에서 배열 정렬
구문은 다음과 같이 정의할 수 있습니다.
array=( 'element1' 'element 2' . . 'elementN' ) for i in '${arr[@]}' do echo $i done
산출
'배열'의 각 요소에 대해 'do'부터 'done'까지의 명령문 또는 명령 세트가 실행됩니다. 각 요소는 해당 반복에 대한 루프 내에서 'i'로 액세스할 수 있습니다. 배열의 요소를 반복하기 위해 'for 루프'를 사용하는 방법을 설명하는 아래 예제를 확인하세요.
배시 스크립트
#!/bin/bash #Array Declaration arr=( 'Welcome''to''Javatpoint' ) for i in '${arr[@]}' do echo $i done
산출
For 루프는 문자열의 공백을 단어 구분 기호로 읽습니다.
구문은 아래와 같이 정의할 수 있습니다.
#!/bin/bash for word in $str; do done
여기, str 문자열을 참조합니다.
'do'부터 'done'까지의 명령문은 문자열의 각 '단어'에 대해 실행됩니다. 아래 예를 확인하세요.
배시 스크립트
#!/bin/bash #For Loop to Read white spaces in String as word separators str='Let's start learning from Javatpoint.' for i in $str; do echo '$i' done
산출
For 루프는 문자열의 각 줄을 단어로 읽습니다.
구문은 아래와 같이 정의할 수 있습니다.
#!/bin/bash for word in '$str'; do done
여기서는 'do'부터 'done'까지의 명령문이 문자열의 각 '라인'에 대해 실행됩니다. 아래 예를 확인하세요.
배시 스크립트
#!/bin/bash #For Loop to Read each line in String as a word str='Let's start learning from Javatpoint.' for i in '$str'; do echo '$i' done
산출
참고: '문자열의 공백을 단어 구분 기호로 읽는 For 루프'와 '문자열의 각 줄을 단어로 읽는 For 루프' 사이의 유일한 차이점은 문자열 변수를 큰따옴표로 묶는 것입니다.
세 가지 표현식을 읽는 For 루프
세 가지 표현식 구문은 'for 루프'의 가장 일반적인 구문입니다. 첫 번째 표현은 초기화 과정을 나타내고, 두 번째 표현은 종료를 나타내며, 세 번째 표현은 증가 또는 감소를 나타냅니다.
for 루프가 포함된 세 가지 표현식을 사용하여 1~10개의 숫자를 인쇄하려면 아래 예를 확인하세요.
배시 스크립트
자바 숫자를 문자열로
#!/bin/bash #For Loop to Read Three-expression for ((i=1; i<=10; i++)) do echo '$i' done < pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/bash-tutorial/09/bash-loop-8.webp" alt="Bash For Loop"> <h3>For Loop with a Break Statement</h3> <p>A 'break' statement can be used inside 'for' loop to terminate from the loop.</p> <p> <strong>Bash Script</strong> </p> <pre> #!/bin/bash #Table of 2 for table in {2..100..2} do echo $table if [ $table == 20 ]; then break fi done </pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/bash-tutorial/09/bash-loop-9.webp" alt="Bash For Loop"> <h3>For Loop with a Continue Statement</h3> <p>We can use the 'continue' statement inside the 'for' loop to skip any specific statement on a particular condition. It tells Bash to stop executing that particular iteration of the loop and process the next iteration.</p> <p> <strong>Bash Script</strong> </p> <pre> #!/bin/bash #Numbers from 1 to 20, ignoring from 6 to 15 using continue statement' for ((i=1; i<=20; 5 16 i++)); do if [[ $i -gt && -lt ]]; then continue fi echo done < pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/bash-tutorial/09/bash-loop-10.webp" alt="Bash For Loop"> <h3>Infinite Bash For Loop</h3> <p>When there is no 'start, condition, and increment' in the bash three expressions for loop, it becomes an infinite loop. To terminate the infinite loop in Bash, we can press Ctrl+C.</p> <p> <strong>Bash Script</strong> </p> <pre> #!/bin/bash i=1; for (( ; ; )) do sleep 1s echo 'Current Number: $((i++))' done </pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/bash-tutorial/09/bash-loop-11.webp" alt="Bash For Loop"> <h2>Conclusion</h2> <p>In this topic, we discussed how to use for loop statement in Bash to perform specific tasks</p> <hr></=20;></pre></=10;>
산출
Continue 문이 있는 For 루프
'for' 루프 내에서 'continue' 문을 사용하여 특정 조건에 대한 특정 문을 건너뛸 수 있습니다. 이는 Bash에게 루프의 특정 반복 실행을 중지하고 다음 반복을 처리하도록 지시합니다.
배시 스크립트
#!/bin/bash #Numbers from 1 to 20, ignoring from 6 to 15 using continue statement' for ((i=1; i<=20; 5 16 i++)); do if [[ $i -gt && -lt ]]; then continue fi echo done < pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/bash-tutorial/09/bash-loop-10.webp" alt="Bash For Loop"> <h3>Infinite Bash For Loop</h3> <p>When there is no 'start, condition, and increment' in the bash three expressions for loop, it becomes an infinite loop. To terminate the infinite loop in Bash, we can press Ctrl+C.</p> <p> <strong>Bash Script</strong> </p> <pre> #!/bin/bash i=1; for (( ; ; )) do sleep 1s echo 'Current Number: $((i++))' done </pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/bash-tutorial/09/bash-loop-11.webp" alt="Bash For Loop"> <h2>Conclusion</h2> <p>In this topic, we discussed how to use for loop statement in Bash to perform specific tasks</p> <hr></=20;>
산출
결론
이 주제에서는 Bash에서 for 루프 문을 사용하여 특정 작업을 수행하는 방법에 대해 논의했습니다.
=20;>=10;>