Ich habe ein ArrayDynamisch Name Array mit variabler während der Iteration über ein anderes Array in BASH
FIRST_ARRAY=(NEWYORK CALIFORNIA TEXAS)
Ein Skript, das ein Staat Städte akzeptiert in diesem Zustand
Zum Beispiel die folgende zurückkehren würde zurückkehren können:
[email protected]:~$ search NEWYORK cities
newyorkcity
buffalo
albany
[email protected]:~$ search CALIFORNIA cities
sanfrancisco
paloalto
losangeles
[email protected]:~$ search TEXAS cities
houston
dallas
austin
Ich mag würde iterieren FIRST_ARRAY
for state in ${FIRST_ARRAY[@]}
do
cities=`search ${FIRST_ARRAY[state]} cities`
ARRAY_$state=($cities}
done
Am Ende würde ich die folgenden Arrays erwarten erstellt wurden, und sie würden die folgenden Werte
ARRAY_NEWYORK=(newyorkcity buffalo albany)
ARRAY_CALIFORNIA=(sanfrancisco paloalto losangeles)
ARRAY_TEXAS=(houston dallas austin)
Wenn das funktioniert, dann zum Beispiel enthalten, würde ich austin zugreifen zu können, wie von
meint den dynamisch erstellte Array in der folgenden Art und Weise Aufrufecho ${ARRAY_TEXAS[2]}
Dank!
http://stackoverflow.com/questions/16553089/bash- dynamic-variable-name – sozkul
Es wird nicht versucht, eine Variable dynamisch zu benennen. Versuch, ein Array während der Schleifenlaufzeit dynamisch zu benennen. – ARL
auch http://unix.stackexchange.com/questions/288886/bash-array-values-like-variables-inside-loop – Sundeep