У меня есть ряд массивов, которые создаются на определенные конечные шаблоны. Я хочу добавить некоторые вычисленные значения к нему путем итерации его один за другим. До сих пор я попытался делать это,
#!/bin/bash
patternBA=()
patternCA=()
patternDA=()
types=(BA CA DA)
for iterator in "${types[@]}"
do
#I need to use this individual iterator for
#computational purpose to gain the "anyIntegerValue"
pattern'$iterator'+=(anyIntegerValue)
done
Ожидаемое содержание массива:
patternBA=(anyIntegerValue)
patternCA=(anyIntegerValue)
patternDA=(anyIntegerValue)
То, что вы пытаетесь сделать, лучше достигается с помощью ассоциативных массивов:
$ declare -A pattern
$ for((i=0;i<${#types[@]};i++));do pattern[${types[$i]}]=$i; done
$ echo ${pattern["BA"]}
0
$ echo ${pattern["CA"]}
1
$ echo ${pattern["DA"]}
2