[linux-l] Shell Programmierung - Arrays

Tilman Giese tilman.giese at gmx.net
Do Apr 4 17:44:14 CEST 2002


Hallo Leute,
ich habe da ein kleines Problem mit der Bash. Und zwar habe ich in einem
Script folgende Variablen:

declare -a DEVICES=(eth0 eth1)

declare -a ETH0=(192.168.0.1)
declare -a ETH1=(192.168.0.2 192.168.0.3)

Die Variablen ETH0 und ETH1 enthalten IPs für's Routing. Ich möchte nun alle
devices durchgehen und die dazugehörigen Routen haben.
Zunächst habe ich an noch eine Variable gedacht:

declare -a ROUTES=($ETH0 $ETH1)

Aber dann weiß ich nicht, wie ich auf die Elemente der zweiten Ebene
zugreifen soll. ${ROUTES[0][0]} funktioniert nicht.

Ansonsten gäbe es vielleicht noch die Möglichkeit die Variablen $ETH0 usw.
direkt aufzurufen. Aber wie erstellt man Variablen aus Variablen?

dev="ETH0"

$$dev oder ${$dev} funktionieren leider nicht.

Ich habe schon im Bash Manual nachgeschaut, aber keine Lösung gefunden. Für
jeglich Hilfe bin ich sehr dankbar. Tilman

-- 
GMX - Die Kommunikationsplattform im Internet.
http://www.gmx.net




Mehr Informationen über die Mailingliste linux-l