Inhaltsverzeichnis

'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