Bash 多重ループの抜け方

Bash 多重ループのbreak

BASHにおいて多重ループを抜ける方法は以下。

break 数字

2重ループを一気に抜ける場合→break 2
3重ループを一気に抜ける場合→break 3


1重のbreakの例
スクリプト

for ( ( i=0; i<3; i++) )
{
  for ( ( j=0; j<5; j++) )
  {
    echo "loop j=$j"
    if [ $j -eq 3 ]
    then
      break
    fi
  }
  
  echo "loop i=$i"
}

実行結果

loop j=0
loop j=1
loop j=2
loop j=3
loop i=0
loop j=0
loop j=1
loop j=2
loop j=3
loop i=1
loop j=0
loop j=1
loop j=2
loop j=3
loop i=2

2重のbreakの例
スクリプト

for ( ( i=0; i<3; i++) )
{
  for ( ( j=0; j<5; j++) )
  {
    echo "loop j=$j"
    if [ $j -eq 3 ]
    then
      break 2
    fi
  }
  
  echo "loop i=$i"
}

実行結果

loop j=0
loop j=1
loop j=2
loop j=3