Ho uno script che itera su una serie di valori, qualcosa di simile (storditi ai fini di questa domanda):Iterare su bash array, sostituire dinamicamente il nome dell'array, è possibile?
COUNTRIES=(ENGLAND SCOTLAND WALES)
for i in ${COUNTRIES[@]}
do
echo "Country is $i "
done
La mia domanda è, è possibile sostituire l'array dinamico? Ad esempio, voglio essere in grado di passare l'array per iterare a runtime. Ho provato quanto segue ma penso che la mia sintassi potrebbe essere sbagliato
COUNTRIES=(ENGLAND SCOTLAND WALES)
ANIMALS=(COW SHEEP DOG)
loopOverSomething()
{
for i in ${$1[@]}
do
echo "value is $i "
done
}
loopOverSomething $ANIMALS
mi sto line 22: ${$2[@]}: bad substitution
+1 per ben affermato e concentrato problema, i messaggi di codice di esempio e di errore inclusi. In bocca al lupo. – shellter