====== 'bash' Arrays ====== ==== Looping Over An Associative Array ==== #!/bin/bash # Declare associatice array directly: declare -A array=( [foo_1]='bar_1' [foo_2]='bar_2' ) # And/or declare indiviual array members: array[bar_1]='foo_x' array[bar_2]='foo_y' # The keys are accessed using an exclamation point: ${!array[@]}, # the values are accessed using ${array[@]}. # You can iterate over the key/value pairs like this: for i in "${!array[@]}" do echo "key: $i, value: ${array[$i]}" done ==== Using An Array For A List Of Filenames ==== Using an array for a list of file names has the advantage that it's not a problem if path/file names contain spaces. #!/bin/bash # Declare an indexed array with file names: declare -a files=( '/' '/etc' '~/my subdir' ) for file in "${files[@]}"; do # Enclose variables in double quotes for proper expansion echo "${file}" done ---- --- //Martin Burnicki [[martin.burnicki@burnicki.net]] 2019-03-06//