シェルの配列
配列の使い方
- シェルの変数には配列もある。
配列を使う時には以下のようにする。
set 変数名 = ( 値1 値2 ... )
- 代入された値を参照する時には、以下のように変数名の前に$をつけて[]で番号を指定する。
$変数名[番号]
- 配列を消去する時はunsetを使用する。
unset 変数名
- 配列にいくつの要素が入っているかを調べるには$#を使う。
$#変数名
- 配列名には英数字を使用する。(頭文字は英字であること)
- 代入される値は数値、文字列の区別はない。(実際は、全て文字列として代入される)
- 代入される値は数値(整数、実数)、文字列を混ぜても良い。
- 代入される値は他の変数、配列の要素でもかまわない。
- C言語のように変数宣言(int x[]; など)の必要もない。
- 配列はコマンドラインからでも使用できる。
配列の番号指定
- 番号は1から始まる。(C言語は0から)
- 番号の指定には変数も使える。
- *はすべての要素を表す。
- 番号1-番号2 で番号1から番号2までの要素を指定できる。
番号1、番号2は変数でも良い。
配列の例
# set a = ( 1 2 3 ) <- 配列aに1 2 3を代入する
# echo $a[1]
1
# echo $a[2]
2
# echo $a[3]
3
# echo $a <- 配列aの値をすべて表示する
1 2 3
# echo $a[*] <- 同じく配列aの値をすべて表示する
1 2 3
# echo $#a <- 配列aの値の個数を表示する
3
# set b = ( "abc" 5 3.5 ) <- 配列bに abc 5 3.5 を代入する
# echo $b[1]
abc
# set c = ( $a[1] $b[2] $b[1] ) <- 配列cに 1 5 abc を代入する
# echo $c
1 5 abc
# echo $c[1-2] <- 配列cの1番目から2番目の値を表示する
1 5
# set i = 2
# echo $c[$i] <- 配列cの2番目の値を表示する
5
# set j = 3
# echo $c[$i-$j] <- 配列cの2番目から3番目の値を表示する
5 abc
練習課題
- 以下のような表示がされるように、上の配列aの要素に4と5を加えてみよう。
# echo $a
1 2 3 4 5
- 次に、配列aの要素から2と3を無くしてみよう。
# echo $a
1 4 5
- さらに配列aの要素の1番目に0を加えてみよう。
# echo $a
0 1 4 5
- 最期に配列aの要素の3番目に1.5を加えてみよう。
# echo $a
0 1 1.5 4 5
まとめ
- シェルの配列の設定・消去は変数と同じset、unsetを使う。
- シェルの配列の番号の指定方法には数字・変数・番号1-番号2が使える。
- シェルの値には好きな値を好きな順番・個数で代入できる。
参考
<- | ->
Home | Contents
abe@injapan.net