Mahlzeit
Bin gerade über einem kleinen Script und hab eben ein Brett vorm Kopf.
Ich hab eine while Schleife und in der möchte ich variablen definieren lassen mit fortlaufender Nummer.
< snip >
zeile=1
while [ $zeile -le 5 ]
do
var_$zeile=argument_$zeile
zeile=$[$zeile+1]
done
< / snap >
Da bringt er ne Fehlermeldung
var_1=argument_1 command not found
weil der Variablenname eben auch schon eine Variable enthält.
Hmmmm.
Irgendwer eine Ahnung??
Linux-Script: Variable mit fortlaufender Nummer
Arrays sind in der bash sicherlich sie bessere Variante, aber wenn man sh-kompatibel bleiben muss, kann man eval verwenden:Das bewirkt, dass die Shell nach der ersten Auswertung (die, wie Dir die Fehlermeldung ja sagt, "var_1=argument_1" liefert) noch eine zweite Auswertung startet. Also wird die Prüfung, ob Variablen zu setzen oder einzufügen sind usw. noch mal gestartet und die Anweisung als Setzen der Variable var_1 auf den Wert argument_1 interpretiert.
Jochen
Code: Select all
eval var_$zeile=argument_$zeile
Jochen
Die grösste Lüge der EDV? "Mal eben..."