Я пытаюсь перебрать массив, который содержит имена других массивов. Моя цель - получить доступ к каждому значению каждого динамически создаваемого массива.
Это мой цикл, в котором я перебираю $ REQUIRED_PARAMS, переданный из командной строки
for param in "${REQUIRED_PARAMS[@]}"
do
create_param_array ${param} "${path_to_txt_reports}/${report}"
echo "${WBC[@]}"
echo "${!param}"
done
Это функцияcreate_param_array, в основном функция разбирает файл get, получает некоторые значения и создает массив, имя которого совпадает с именем параметра
################################################
# Function: create_param_array
# Inputs : $1 - param
# $2 - full relative path to pdf report
# Outputs: array of parameters values
#################################################
create_param_array () {
path=$2
case $1 in
WBC)
WBC=($(get_param_values $1 $2))
verbose_print WBC ${WBC[@]}
;;
....
Пока все хорошо, проблема в том, что мне нужно получить доступ к значениям, но яне знаю имя созданного массива, поэтому я не могу сделать
echo "${WBC[@]}"
, который печатает все значения
15.7 11.6 15.8
Я пытался
echo "${!param}"
echo "${!param[@]}"
, ноОчевидно, что param - это не массив, поэтому я получаю
15.7
0
Любая помощь очень ценится.