次のような値の配列を反復処理するスクリプトがあります(この質問の目的のために馬鹿にされています):
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
私は得ていますline 22: ${$2[@]}: bad substitution