Skip to content

9. 중첩 루프


중첩 루프는 루프 안에 루프가 들어 있는 형태를 말한다. 바깥쪽 루프의 매 단계마다 안쪽 루프를 돌리는데, 이 전체 동작은 바깥쪽 루프가 끝날 때까지 계속 된다. 안쪽 루프나 바깥쪽 루프에서 break가 나타나면 전체 동작을 중단시킨다.


예제) 중첩 루프
#!/bin/bash

outer=1

# 바깥쪽 루프 시작
for a in 1 2; do
    echo "바깥쪽 루프의 $outer 단계"
    inner=1

    # 안쪽 루프 시작
    for b in 1 2 3; do
        echo "안쪽 루프의 $inner 단계"
        ((inner += 1))
        # inner=$(($inner + 1))
    done

    ((outer += 1))
    # outer=$(($outer + 1))
done
# 바깥쪽 루프의 1 단계
# 안쪽 루프의 1 단계
# 안쪽 루프의 2 단계
# 안쪽 루프의 3 단계
# 바깥쪽 루프의 2 단계
# 안쪽 루프의 1 단계
# 안쪽 루프의 2 단계
# 안쪽 루프의 3 단계

exit 0

References