シェルの配列

配列の使い方

配列の番号指定

配列の例

# 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
# set a = ( $a 4 5 )      <- 配列aに 4 5 を追加する
# echo $a      <- 配列aの値をすべて表示する
1 2 3 4 5
# set a = ( -1 0 $a )      <- 配列aに -1 0 を追加する
# echo $a      <- 配列aの値をすべて表示する
-1 0 1 2 3 4 5
# set a = ( $a[2-5] )      <- 配列aの2番目から5番目の要素を残す
# echo $a      <- 配列aの値をすべて表示する
0 1 2 3

練習課題

特別なシェル変数

シェルスクリプトの中で実行時の引数を取ってくる時には $argv という特別な変数(配列)を使用する。
この変数は配列なので引数の個数は $#argv で知ることができる。

特別なシェル変数の例

  1. argv.shという名前で以下のスクリプトを作る。
    
    echo "argv is" $argv[1]
    
  2. argv.shを実行する。
    # csh argv.sh    <- 引数をつけないで実行
    argv: Subscript out of range.    <- エラー表示
    # csh argv.sh abe    <- 引数をつけて実行
    argv is abe
    #
    
  3. argv.shを以下のように書き換える。
    
    echo "argv is" $argv[2] $argv[1]
    
  4. argv.shを実行する。
    # csh argv.sh abe tomohiro    <- 2つの引数をつけて実行
    argv is tomohiro abe
    #
    

まとめ

参考


Prev | Next
Home | Contents
abe@injapan.net