Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Linux-Script: Variable mit fortlaufender Nummer

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Sonstiges
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
FireFox
Gast





BeitragVerfasst am: 02. Jul 2004 22:19   Titel: Linux-Script: Variable mit fortlaufender Nummer

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??
 

tuxracer



Anmeldungsdatum: 15.04.2004
Beiträge: 11
Wohnort: Darmstadt

BeitragVerfasst am: 03. Jul 2004 9:27   Titel:

> zeile=$[$zeile+1]

Probier mal let zeile=zeile+1
_________________
echo 0x4672696e6b2072756c657321|xxd -r
 
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen

kanonenfutter
Gast





BeitragVerfasst am: 03. Jul 2004 10:32   Titel:

> var_$zeile=argument_$zeile

für sowas brauchst du arrays, du kannst das nicht einfach so zuweisen. schau dir mal in "man bash" den abschnitt "arrays" an.
für das loop kannst du übrigens auch "seq" verwenden. for zeile in $(seq 1 5) ; do .......; done
 

jochen
prolinux-forum-admin


Anmeldungsdatum: 14.01.2000
Beiträge: 699
Wohnort: Jülich

BeitragVerfasst am: 03. Jul 2004 12:07   Titel:

Arrays sind in der bash sicherlich sie bessere Variante, aber wenn man sh-kompatibel bleiben muss, kann man eval verwenden:
Code:
eval  var_$zeile=argument_$zeile
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
_________________
Die grösste Lüge der EDV? "Mal eben..."
 
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Sonstiges Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy