У меня есть сценарий, который выполняет итерацию по массиву значений, что-то вроде этого (упрощено для целей этого вопроса):
COUNTRIES=( ENGLAND SCOTLAND WALES )
for i in ${COUNTRIES[@]}
do
echo "Country is $i "
done
Мой вопрос в том, можно ли динамически подставлять массив? Например, я хочу иметь возможность передавать массив для повторения во время выполнения. Я пробовал следующее, но думаю, что мой синтаксис может быть неправильным
COUNTRIES=( ENGLAND SCOTLAND WALES )
ANIMALS=( COW SHEEP DOG )
loopOverSomething()
{
for i in ${$1[@]}
do
echo "value is $i "
done
}
loopOverSomething $ANIMALS
Я получаю строку 22: ${$2[@]}: неверная замена