English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Shell 配列

配列には複数の値を格納できます。Bash Shellは一つの次元の配列(多次元配列をサポートしていません)をサポートしており、初期化時に配列のサイズを定義する必要はありません(PHPと似ています)。

ほとんどのプログラミング言語と同様に、配列のインデックスは0から始まります。

Shellの配列は括弧で表され、要素は"スペース"シンボルで区切られます。以下のようになります:

array_name=(value1 value2 ... valuen)

オンラインサンプル

#!/bin/bash
# author:基础教程网
# url:ja.oldtoolbag.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:ja.oldtoolbag.com
my_array=(A B "C" D)
echo "1番目の要素は: ${my_array[0]}"
echo "2番目の要素は: ${my_array[1]"
echo "3番目の要素は: ${my_array[2]"
echo "4番目の要素は: ${my_array[3]"

スクリプトを実行し、以下の結果が出力されます:

$ chmod +x test.sh 
$ ./test.sh
1番目の要素は: A
2番目の要素は: B
3番目の要素は: C
4番目の要素は: D

配列のすべての要素を取得する

@ または * すべての配列要素を取得することができます、例えば:

#!/bin/bash
# author:基础教程网
# url:ja.oldtoolbag.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:ja.oldtoolbag.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