シェル・アレイ
アレイは、複数の値を格納することができます。 バッシュシェルは一次元配列(多次元配列をサポートしていません)、配列のサイズを定義する必要が初期化されません(PHPと同様)さをサポートしています。
ほとんどのプログラミング言語と同様に、配列要素の添字はゼロから始まります。
次のようにシェルを分離し、「スペース」のシンボルで配列要素を表すために括弧を使用して、構文は次のとおりです。
array_name=(value1 ... valuen)
例
#!/bin/bash # author:本教程 # url:www.w3big.com my_array=(A B "C" D)
我々はまた、次の標準を使用して配列を定義することができます。
array_name[0]=value0 array_name[1]=value1 array_name[2]=value2
配列を読みます
一般的なフォーマットは、配列要素の値を読み取るされます。
${array_name[index]}
例
#!/bin/bash # author:本教程 # url:www.w3big.com my_array=(A B "C" D) echo "第一个元素为: ${my_array[0]}" echo "第二个元素为: ${my_array[1]}" echo "第三个元素为: ${my_array[2]}" echo "第四个元素为: ${my_array[3]}"
次のようにスクリプトを実行し、出力は次のようになります。
$ chmod +x test.sh $ ./test.sh 第一个元素为: A 第二个元素为: B 第三个元素为: C 第四个元素为: D
すべての要素の配列を取得します
@を使用するか、*などのすべての要素の配列を取得することができます。
#!/bin/bash # author:本教程 # url:www.w3big.com my_array[0]=A my_array[1]=B my_array[2]=C my_array[3]=D echo "数组的元素为: ${my_array[*]}" echo "数组的元素为: ${my_array[@]}"
次のようにスクリプトを実行し、出力は次のようになります。
$ chmod +x test.sh $ ./test.sh 数组的元素为: A B C D 数组的元素为: A B C D
配列の長さを取得します。
例えば、文字列の長さの長さの配列を取得し、同じ方法を取得:
#!/bin/bash # author:本教程 # url:www.w3big.com my_array[0]=A my_array[1]=B my_array[2]=C my_array[3]=D echo "数组元素个数为: ${#my_array[*]}" echo "数组元素个数为: ${#my_array[@]}"
次のようにスクリプトを実行し、出力は次のようになります。
$ chmod +x test.sh $ ./test.sh 数组元素个数为: 4 数组元素个数为: 4