【bashシェル】連想配列のキーが存在する・しないを確認する方法


この記事はプロモーションを含みます。

bashシェル

bashシェルスクリプトにおける連想配列に特定のキーが存在するか、存在しないかを確認する方法を解説します。

はじめに

本記事では、連想配列に指定したキーが存在するか、存在しないかを確認する方法を説明します。
連想配列の基本的な使い方については、以下をご覧ください。

キーが存在することを確認する

ここでは、特定のキーが存在することを確認する方法を説明します。

以下がサンプルコードです。
赤字部分が、キーが存在することを確認する記述です。
キーが存在する場合は「真」、存在しない場合は「偽」となります。

#!/bin/bash

declare -A animals=(
	["犬"]="dog"
	["うさぎ"]="rabbit"
	["猫"]="cat"
)

if [ -n "${animals["うさぎ"]}" ]; then
	echo "【確認①】キーが存在します。"
else
	echo "【確認①】キーが存在しません。"
fi

if [ -n "${animals["ライオン"]}" ]; then
	echo "【確認②】キーが存在します。"
else
	echo "【確認②】キーが存在しません。"
fi

サンプルの実行結果です。
キー「うさぎ」は存在するので、キーが存在しますと表示され、
キー「ライオン」は存在しないので、キーが存在しませんと表示されます。

【確認①】キーが存在します。
【確認②】キーが存在しません。

キーが存在しないことを確認する

ここでは、特定のキーが存在しないことを確認する方法を説明します。

以下がサンプルコードです。
赤字部分が、キーが存在しないことを確認する記述です。
キーが存在しない場合は「真」、存在する場合は「偽」となります。

#!/bin/bash

declare -A animals=(
	["犬"]="dog"
	["うさぎ"]="rabbit"
	["猫"]="cat"
)

if [ -z "${animals["うさぎ"]}" ]; then
	echo "【確認①】キーが存在しません。"
else
	echo "【確認①】キーが存在します。"
fi

if [ -z "${animals["ライオン"]}" ]; then
	echo "【確認②】キーが存在しません。"
else
	echo "【確認②】キーが存在します。"
fi

サンプルの実行結果です。
キー「うさぎ」は存在するので、キーが存在しますと表示され、
キー「ライオン」は存在しないので、キーが存在しませんと表示されます。

【確認①】キーが存在します。
【確認②】キーが存在しません。

コメント

タイトルとURLをコピーしました