シェルスクリプトでの連想配列での検索

declare -A FRUIT

FRUIT=(
    ["red"]="apple"
    ["orange"]="orange"
    ["purple"]="grape"
)

な形で連想配列を決めてこの中の key や value で if 文を使いたい場合は ${!FRUIT[@]} (全 key を取り出す) ${FRUIT[@]} (全 value を取り出す) ( {} で挟むのが文字列として認識されてしまい配列を取り出せないので注意 )

簡単なコード


if echo ${!FRUIT[@]} | grep -q "purple"`; then echo ${FRUIT["purple"]} fi

出力結果

grape