Bash連想配列
このチュートリアルでは、Bash で連想配列を作成する方法を示します。
Bash連想配列
配列は Bash でデータを格納するのに非常に便利であり、連想配列と呼ばれる文字列インデックスを持つ配列も Bash で作成できます。 連想配列は Bash 4 で追加されたもので、それ以前のバージョンでは宣言できません。
まず、Bash のバージョンを確認します。バージョンが 4 未満の場合、連想配列を宣言できません。 declare
コマンドを使用して、連想配列を宣言します。
以下の手順に従って、連想配列を宣言します。
-
まず、Bash のバージョンを確認し、次のコマンドを実行します。
bash --version
上記のコマンドは、Bash のバージョンを確認します。 出力は次のとおりです。
GNU bash, version 5.0.17(1)-release (x86_64-pc-linux-gnu) Copyright (C) 2019 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
-
declare
コマンドを使用して、連想配列を宣言します。declare -A DemoArray DemoArray[One]=Delftstack1 DemoArray[Two]=Delftstack2 DemoArray[Three]=Delftstack3 DemoArray[Four]=Delftstack4 DemoArray[Five]=Delftstack5 DemoArray[Six]=Delftstack6
上記のコマンドは、最初に連想配列を宣言してから、インデックスと値を割り当てます。
-
また、連想配列を 1 行で宣言できる別のコマンドがあります。
declare -A DemoArray1=( [One]=Delftstack1 [Two]=Delftstack2 [Three]=Delftstack3 )
上記のコマンドは、連想配列を 1 行で作成します。
連想配列へのアクセス
連想配列の要素には、個別にアクセスすることも、配列を使用してアクセスすることもできます。 それらを直接エコーするか、配列をループに入れることができます。
値に個別にアクセスするコマンドを参照してください。
echo ${DemoArray[One]}
echo ${DemoArray[Two]}
echo ${DemoArray[Three]}
echo ${DemoArray[Four]}
echo ${DemoArray[Five]}
echo ${DemoArray[Six]}
上記のコマンドは、指定されたインデックスの連想配列の値を出力します。 出力を参照してください。
Delftstack1
Delftstack2
Delftstack3
Delftstack4
Delftstack5
Delftstack6
ループを使用して、連想配列のすべての値にアクセスすることもできます。 次のコマンドを参照してください。
for ArrayKey in "${!DemoArray[@]}"; do echo $ArrayKey; done
echo "${!DemoArray[@]}"
ここ !
連想配列のキーを読み取るために使用できます。 最初のコマンドは連想配列のキーを 1つずつ出力し、2 番目のコマンドはすべてのキーを一度に出力します。
出力を参照してください。
Four
Six
One
Five
Two
Three Four Six One Five Two
同様に、値を出力するには、!
を削除します。 上記のコマンドの演算子:
for ArrayValue in "${DemoArray[@]}"; do echo $ArrayValue; done
echo "${DemoArray[@]}"
これらのコマンドは、指定された連想配列のすべての値を出力します。 出力を参照してください。
Delftstack4
Delftstack6
Delftstack1
Delftstack5
Delftstack2
Delftstack3 Delftstack4 Delftstack6 Delftstack1 Delftstack5 Delftstack2
最後に、for
ループを使用して値を含むキーを出力できます。 次のコマンドを参照してください。
for ArrayKey in "${!DemoArray[@]}"; do echo "$ArrayKey => ${DemoArray[$ArrayKey]}"; done
上記のコマンドは、指定された配列のすべてのキーと値のペアを出力します。 出力を参照してください。
Three => Delftstack3
Four => Delftstack4
Six => Delftstack6
One => Delftstack1
Five => Delftstack5
Two => Delftstack2
連想配列に新しいメンバーを追加する
連想配列に新しい要素を追加する操作は非常に簡単です。 配列と新しいキーと値のペアの間に +=
連結演算子を使用します。
キーと値のペアを作成し、それを連想配列に割り当てます。 次のコマンドを参照してください。
echo "${DemoArray[@]}"
DemoArray+=([Seven]=Delftstack7)
echo "${DemoArray[@]}"
上記のコマンドは、元の配列を出力し、新しいメンバーを追加してから、変更された配列を出力します。 出力を見る
Delftstack3 Delftstack4 Delftstack6 Delftstack1 Delftstack5 Delftstack2
Delftstack3 Delftstack4 Delftstack7 Delftstack6 Delftstack1 Delftstack5 Delftstack2
連想配列からメンバーを削除する
連想配列のメンバーの削除も簡単な操作です。 アレイから削除されるアレイ メンバーに対して unset
コマンドを使用します。
コマンドを参照してください。
echo "${DemoArray[@]}"
unset DemoArray[Seven]
echo "${DemoArray[@]}"
上記のコマンドは、最初に元の配列を表示し、次に配列のメンバ [Seven]
を削除してから、変更された配列を再度表示します。 出力を参照してください。
Delftstack3 Delftstack4 Delftstack7 Delftstack6 Delftstack1 Delftstack5 Delftstack2
Delftstack3 Delftstack4 Delftstack6 Delftstack1 Delftstack5 Delftstack2
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn Facebook