配列変数の数だけ繰り返す(while)

書式

変数名=${#配列変数名[@]}
while [ 変数名 -ge 0 ];
do
 処理
done

説明

配列変数の数だけ繰り返すには変数に配列の長さを入れ1減算します。whileの条件式で0以上の場合に繰り返すように指定します。ループの中で変数の値を1減算していくことで配列の長さ分繰り返し処理を行うことができます。

サンプルコード

#!/bin/bash
data[0]="Sample"
data[1]="Shell"
data[2]="Script"
n=${#data[@]}
n=$((n - 1))
while [ $n -ge 0 ];
do
echo "$n ${data[$n]}"
n=$((n - 1))
done