配列を使用する - Linux シェルスクリプト プログラミング

PROGRAM


配列を使用する

Linux シェル (sh) では、配列を利用することができるようになっています。

配列とは、ひとつの名前の変数に複数の値をインデックス(番号)をつけて格納する方法で、これを利用することで、複数の値をひとつのグループとして管理したり、繰り返し処理によって効率良く値を扱ったりすることができます。

配列変数への代入

Linux シェル (sh) で配列を使用したい場合には、たとえば次のようにします。

arr[0]=100

arr[1]=200

arr[2]=300

このようにすることで、配列変数 arr の 0 から順番に "VALUE 1", "VALUE 2", "VALUE 3" という値を格納できます。

 

または、次のようにして、一括して値を格納することもできるようになっていました。

arr=(100 200 300)

このようにしても、配列変数 arr に対して、0 番から順番に、空白で区切った値が格納されて行きます。

 

配列変数の参照

配列変数として格納した値は、次のようにして取り出します。

echo ${arr[0]}

echo ${arr[1]}

echo ${arr[2]}

 

SUM=$((arr[0] + arr[1] + arr[2]))

上では、配列変数の各値を echo コマンドで画面に表示させたり、総和を SUM 変数に格納したりしています。

 

これと同じことを、配列変数を生かして、繰り返し処理で行うと、次のような感じになります。

index=0

SUM=0

 

while ((index < 3))

do

# index 番目の配列変数の値を表示しています。

echo ${arr[$index]}

 

# SUM 変数に配列変数の値を加算しています。

SUM=$((SUM + arr[index]))

 

# 次の配列番号を計算しています。

index=$((index + 1)

 

done

C 言語などのプログラム言語と比べると独特な表現で難しいですけど、やっていることとしては、配列の 0 から 3 番までの値を順次、表示したり、加えていったりしている感じです。

配列の要素数が上のように 3 個程度であれば、最初に示したような 1 つ 1 つ記載して行く方法でも問題ないですけど、これが 1,000 個だったり、または状況によって変動するような場合であれば、配列変数を使えなければプログラミングは不可能です。


[ もどる ]