Bash でキー値ディクショナリを使用する方法

Bash Deki Zhidikushonariwo Shi Yongsuru Fang Fa



Bash は、複雑なタスクを自動化し、カスタム スクリプトを記述してデータを処理できる強力なツールです。 bash の最も便利な機能の 1 つは、キーと値の辞書を使用してデータを格納および操作できることです。ディクショナリを使用すると、データをすばやく簡単に格納およびアクセスできるため、コードがより効率的になります。この記事では、bash でキー値ディクショナリを使用する方法について説明します。

Key-Value ディクショナリとは

キー値ディクショナリは、キーによってデータを格納およびアクセスできるようにするデータ構造です。各キーには対応する値があり、文字列、整数、または別のデータ構造など、任意のタイプのデータにすることができます。以下は、キーに値を追加するための構文であり、その後に bash で辞書を作成するための構文が続きます。







宣言する -A < dict_name >



これにより、dict_name という名前の空の辞書が作成され、連想配列であることを示す -A フラグが付けられます。ディクショナリを作成したら、次の構文を使用してキーと値をディクショナリに追加できます。



< dict_name > [ < > ] = < 価値 >





Bash でキー値ディクショナリを使用する方法

bash でキーと値のディクショナリを使用すると、複雑なまたは長い算術計算を実行したり、コード内のどこからでもアクセスできる詳細を保存したりするなど、独自に選択したパスコードを生成する場合など、多くのシナリオで便利です。したがって、bash でのキー値ディクショナリの使用方法を示すために、それらの使用方法を理解するのに役立つ 3 つの例を示しました。これらの例を次に示します。

キー値ディクショナリを使用した算術演算の実行方法

キー値ディクショナリのもう 1 つの使用方法は、複雑または単純ないくつかの異なる算術演算を実行できることです。ディクショナリに格納されたデータを使用して加算と減算を実行する bash コードを次に示します。



#!/ビン/バッシュ
# キーと値のペアで辞書を定義する
宣言する -A my_dict
my_dict [ 「あ」 ] = 5
my_dict [ 「ば」 ] = 10
my_dict [ 'c' ] = 15

# 辞書に 2 つの値を追加します
=$ ( ( my_dict [ 「あ」 ] + my_dict [ 「ば」 ] ) )
エコー 「a と b の合計は次のとおりです。 $合計 '

# ディクショナリ内の別の値から 1 つの値を減算します
差分 =$ ( ( my_dict [ 'c' ] - my_dict [ 「あ」 ] ) )
エコー 「c と a の違いは次のとおりです。 $差分 '

最初に、my_dict という名前の連想配列または辞書が、キーと値のペアで定義されます。次に、辞書の 2 つの値 a と b が加算され、sum という変数に格納されます。加算の結果は、echo コマンドを使用して出力されます。

次に、辞書の 1 つの値 a が別の値 c から減算されます。減算の結果は diff という変数に格納され、結果は echo コマンドを使用して出力されます。全体として、このスクリプトは、辞書を使用してデータを Bash に保存および操作する方法を示しています。

Key-Value ディクショナリを使用してデータベースを作成する方法

キー値ディクショナリの最も一般的な用途の 1 つは、データベースの作成です。これは、後で bash スクリプトで使用できるあらゆる詳細である可能性があります。ここでは、スクリプトがディクショナリ内の既存のキーを更新する方法を示すだけでなく、会社のデータを取得する例を示しました。

#!/ビン/バッシュ
宣言する -A 会社 = (
[ 名前 ] = 「株式会社アクメ」
[ 位置 ] = 「ニューヨーク州ニューヨーク市」
[ 業界 ] = 「ものづくり」
[ サイズ ] = '大きい'
[ 設立 ] = 「1920年」
)

# すべての詳細を出力
printf '会社の詳細: \n '
ために ' ${!company[@]} ' ; する
printf '%s: %s \n ' ' $キー ' ' ${会社[$キー]} '
終わり

# 'location' キーの値を変更
会社 [ '位置' ] = 「カリフォルニア州ロサンゼルス」

# 更新された詳細を表示
printf ' \n 更新された会社の詳細: \n '
ために ' ${!company[@]} ' ; する
printf '%s: %s \n ' ' $キー ' ' ${会社[$キー]} '
終わり

この bash スクリプトは、名前、場所、業界、規模、設立年など、会社に関する情報を含む company という辞書を定義します。 printf 関数は、会社の詳細を読み取り可能な形式で表示するために使用されます。 for ループは会社の辞書のキーを反復処理し、キーごとに、キーとそれに対応する値を引数として printf 関数が呼び出されます。次に、場所キーの値を「カリフォルニア州ロサンゼルス」に変更することで、会社のディクショナリが更新されます。最後に、会社の更新された詳細が、別の for ループと printf 関数を使用する前と同じ形式で表示されます。

結論

連想配列を使用すると、不可解なインデックスではなく意味のある名前を使用してデータを保存および取得できるため、bash スクリプトをより効率的かつ保守しやすくすることができます。この記事では、2 つの例を使用して、Bash でキーと値の辞書を使用する方法を示します。