Unix / Linux-쉘 루프 유형
이 장에서는 Unix의 쉘 루프에 대해 설명합니다. 루프는 일련의 명령을 반복적으로 실행할 수있는 강력한 프로그래밍 도구입니다. 이 장에서 우리는 쉘 프로그래머가 사용할 수있는 다음 유형의 루프를 조사 할 것입니다.
- while 루프
- for 루프
- until 루프
- 선택 루프
상황에 따라 다른 루프를 사용합니다. 예를 들어while루프는 주어진 조건이 참일 때까지 주어진 명령을 실행합니다. 그만큼until 루프는 주어진 조건이 참이 될 때까지 실행됩니다.
좋은 프로그래밍 연습이 있으면 전문 지식을 습득하고 상황에 따라 적절한 루프를 사용하기 시작합니다. 여기,while 과 for 루프는 다음과 같은 대부분의 다른 프로그래밍 언어에서 사용할 수 있습니다. C, C++ 과 PERL등
중첩 루프
모든 루프는 중첩 개념을 지원하므로 하나의 루프를 다른 유사한 루프 또는 다른 루프 안에 넣을 수 있습니다. 이 중첩은 요구 사항에 따라 무제한으로 이동할 수 있습니다.
다음은 중첩의 예입니다. while고리. 다른 루프는 비슷한 방식으로 프로그래밍 요구 사항에 따라 중첩 될 수 있습니다.
while 루프 중첩
while 루프를 다른 while 루프 본문의 일부로 사용할 수 있습니다.
통사론
while command1 ; # this is loop1, the outer loop
do
Statement(s) to be executed if command1 is true
while command2 ; # this is loop2, the inner loop
do
Statement(s) to be executed if command2 is true
done
Statement(s) to be executed if command1 is true
done
예
다음은 루프 중첩의 간단한 예입니다. 9까지 세는 데 사용했던 루프 안에 또 다른 카운트 다운 루프를 추가해 보겠습니다.
#!/bin/sh
a=0
while [ "$a" -lt 10 ] # this is loop1
do
b="$a"
while [ "$b" -ge 0 ] # this is loop2
do
echo -n "$b "
b=`expr $b - 1`
done
echo
a=`expr $a + 1`
done
그러면 다음과 같은 결과가 생성됩니다. 방법에 유의하는 것이 중요합니다.echo -n여기서 작동합니다. 여기-n 옵션은 에코가 줄 바꾸기 문자를 인쇄하지 않도록합니다.
0
1 0
2 1 0
3 2 1 0
4 3 2 1 0
5 4 3 2 1 0
6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
8 7 6 5 4 3 2 1 0
9 8 7 6 5 4 3 2 1 0