遍历动态创建的数组

时间:2019-10-04 19:37:46

标签: arrays bash

我正在尝试遍历包含其他数组名称的数组。我的目标是能够访问每个动态创建的数组的每个值。

这是我的循环,在其中循环通过命令行传递的$ 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,获取一些值并创建一个与param同名的数组

################################################
# 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[@]}"

但是显然参数不是数组,所以我得到了

15.7
0

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

将数组名称与.net core release 3.0一起存储在间接使用的变量中:

[@]