Bash Associative Arrays
Bash Associative Arrays
In Bash scripting, associative arrays are used to store key-value pairs. Understanding how to define, manipulate, and perform operations on associative arrays is crucial for effective shell scripting.
Defining Associative Arrays
Associative arrays in Bash can be defined using the declare -A
syntax.
#!/bin/bash
# Define an associative array
declare -A assoc_array
assoc_array=( ["name"]="Alice" ["age"]=25 ["city"]="New York" )
In this example, assoc_array
is defined with three key-value pairs: 'name' is 'Alice', 'age' is 25, and 'city' is 'New York'.
Accessing Elements
Elements in an associative array can be accessed using their keys.
#!/bin/bash
# Define an associative array
declare -A assoc_array
assoc_array=( ["name"]="Alice" ["age"]=25 ["city"]="New York" )
# Access elements in the associative array
echo "Name: ${assoc_array["name"]}"
echo "Age: ${assoc_array["age"]}"
echo "City: ${assoc_array["city"]}"
In this example, the values associated with the keys 'name', 'age', and 'city' are accessed and printed.
Adding and Updating Elements
Elements can be added to or updated in an associative array by assigning values to new or existing keys.
#!/bin/bash
# Define an associative array
declare -A assoc_array
assoc_array=( ["name"]="Alice" ["age"]=25 ["city"]="New York" )
# Add or update elements
assoc_array["country"]="USA"
assoc_array["city"]="Los Angeles"
echo "Country: ${assoc_array["country"]}"
echo "Updated City: ${assoc_array["city"]}"
In this example, a new key-value pair 'country' is added, and the value of the key 'city' is updated.
Iterating Over Associative Arrays
Associative array elements can be iterated over using a for
loop to access keys and values.
#!/bin/bash
# Define an associative array
declare -A assoc_array
assoc_array=( ["name"]="Alice" ["age"]=25 ["city"]="New York" )
# Iterate over associative array elements
for key in "${!assoc_array[@]}"; do
echo "$key: ${assoc_array[$key]}"
done
In this example, a for
loop is used to iterate over each key in assoc_array
, and the key-value pairs are printed.
Conclusion
Working with associative arrays in Bash is essential for managing key-value pairs in shell scripts. Understanding how to define, access, add, update, remove, iterate over, and check keys in associative arrays can help you manage and manipulate data more effectively in your scripts.