breakとcontinueを使用して外部ループを終了/スキップする(shell script)デュアルfor文)


パラメータをbreakとcontinueにループ

breakは、breakに属する重複文を終了する.j = 2の場合、breakに遭遇すると、jを迂回したforのドアは完全に閉じられ、その後はj = 3, 4は実行されない.
外転iforゲートには全く影響しません.
$ cat test1
#!/bin/bash
for (( i = 1; i <= 4; i++ ))
do
        echo "i -> $i"
        for (( j = 1; j <= 4; j++ ))
        do
                if (( $j == 2 ))
                then
                        break
                fi
                echo "  j -> $j"
        done
done

$ ./test1
i -> 1
        j -> 1
i -> 2
        j -> 1
i -> 3
        j -> 1
i -> 4
        j -> 1
しかし、ここでは、iの周りを回るforのドアを閉じる方法があります.
break n
nのデフォルト値は1で、現在属しているループを示します.
数字を1つ増やすたびに、바깥쪽ループを指します.break 2が与えられると、外部iを回転させるループは終了する.
$ cat test1
#!/bin/bash
for (( i = 1; i <= 4; i++ ))
do
        echo "i -> $i"
        for (( j = 1; j <= 4; j++ ))
        do
                if (( $j == 2 ))
                then
                        break 2
                fi
                echo "  j -> $j"
        done
done

$ ./test1
i -> 1
        j -> 1
continueは、continueが属する重複文の内容から次のコードをスキップします.continueで、j = 2と遭遇した場合は、continueを回転するj文で次の内容を省略し、次の反復が表示されます.
外転forcontinueゲートには全く影響しません.
$ cat test1
#!/bin/bash
for (( i = 1; i <= 4; i++ ))
do
        echo "i -> $i"
        for (( j = 1; j <= 4; j++ ))
        do
                if (( $j == 2 ))
                then
                        continue
                fi
                echo "  j -> $j"
        done
done

$ ./test1
i -> 1
        j -> 1
        j -> 3
        j -> 4
i -> 2
        j -> 1
        j -> 3
        j -> 4
i -> 3
        j -> 1
        j -> 3
        j -> 4
i -> 4
        j -> 1
        j -> 3
        j -> 4
同様に、iは、パラメータによって外輪の内容をスキップすることもできる.
$ cat test1
#!/bin/bash
for (( i = 1; i <= 4; i++ ))
do
        echo "i -> $i"
        for (( j = 1; j <= 4; j++ ))
        do
                if (( $j == 2 ))
                then
                        continue 2
                fi
                echo "  j -> $j"
        done
done

$ ./test1
i -> 1
        j -> 1
i -> 2
        j -> 1
i -> 3
        j -> 1
i -> 4
        j -> 1