How do you use associative arrays in bash?

Answer

Associative arrays (hash maps/dictionaries) are available in bash 4+. Declare with: declare -A map. Assign: map["key"]="value" or map=([key1]=val1 [key2]=val2). Access: ${map["key"]}. All keys: ${!map[@]}. All values: ${map[@]}. Length: ${#map[@]}. Check if key exists: [[ -v map["key"] ]]. Delete: unset map["key"]. Iterate: for k in "${!map[@]}"; do echo "$k = ${map[$k]}"; done. Common use: counting occurrences, caching results, mapping hostnames to IPs. Note: macOS ships bash 3.2 (no assoc arrays) — use brew install bash or choose a different approach for cross-platform scripts.