PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Variable in Variable?



oafish
16-01-2006, 10:50
Hallo,
ist es möglich in der Bash eine Variable in eine Variable zu speichern?
Am besten gebe ich ein beispiel:
Ich verwende drei Namen:

EMAIL_muenchen="muenchen@test.de"
EMAIL_hamburg="hamburg@test.de"
EMAIL_berlin="berlin@test.de"
STANDORTE="Muenchen Hamburg Berlin"

Nun arbeite ich in einer Schleife verschiedene Dinge ab. Es soll nun jeweils eine E-Mail an die Standorte geschrieben werden. Beispielsweise mache/versuchte ich es so:

echo -e $TEXT $READY_TEXT| mail -s "$BETREFF ${STANDORTE[$i]}" ${EMAIL_${STANDORTE[$i]}}

Wie kann man das elegant lösen? Copy&Paste wäre auch eine Möglichkeit aber es muss doch schöner gehen?

Bin für jeden Tipp /Hinweis dankbar :)

Grüßle

oafish

ninguno
16-01-2006, 11:27
STANDORTE=("Muenchen" "Hamburg" "Berlin")
EMAIL=("muenchen@test.de" "hamburg@test.de" "berlin@test.de")

for ((i=0; i<${#STANDORTE }; i++)); do
echo -e $TEXT $READY_TEXT| mail -s "$BETREFF ${STANDORTE[$i]}" ${EMAIL[$i]}
done

oafish
16-01-2006, 14:18
Hi,
so einfach ist es nicht. Ich kann die E-Mail Adressen nicht in einem Topf werfen. Diese müssen getrennt bleiben!

Grüßle

oafish

ninguno
16-01-2006, 16:04
keine ahnung was du meinst :confused:

oafish
16-01-2006, 18:38
Hi,
als wenn der Standort Berlin ist dann sollen auch die E-Mails aus EMAIL_berlin genommen werden. Da die Mail anzahl von Standort zu Standort verschieden ist kann ich diese auch nicht in einem Topf werfen.

Ich möchte nun irgendwie aus EMAIL_${STANDORTE[$i]} die Werte in MAIL_berlin etc. auslesen. Doch wie macht man das?

oafish

ninguno
16-01-2006, 20:01
so?
EMAIL_muenchen=("muenchen@test.de")
EMAIL_hamburg=("hamburg1@test.de" "hamburg2@test.de" "hamburg3@test.de")
EMAIL_berlin=("berlin1@test.de" "berlin2@test.de")
STANDORTE=("muenchen" "hamburg" "berlin")

for ((i=0; i<${#STANDORTE }; i++)); do
eval "mailnum=\${#EMAIL_${STANDORTE[$i]} }"
for ((j=0; j<$mailnum; j++)); do
eval "echo \${EMAIL_${STANDORTE[$i]}[$j]}"
done
done