Hallo,
ich versuche mein erstes Script für die Linux Shell zu erstellen. Habe
vorher nur mit VB gearbeitet. Wie ihr sicher sehen könnt fällt mir die
umgewöhnung schwer. Aber hier mein versuch.
Besonders ungewohnt scheint hier für mich der Umgang mit Variablen zu
sein.
Das Programm erwartet als erstes eine Benutzereingabe einer Zahl, und in
einer Schleife soll dann von 0 bis zur eingabezahl gezählt werden.
1 | 1 #!/bin/bash
|
2 | 2 read -p "Zahl: " z # Hier wird eine Zahl eingegeben!
|
3 | 3 echo "Es wird bis " ${z} "gezaehlt" # Ausgabe Anzahl der Schleifendurchlaefe...
|
4 | 4 i=0 # Zaehler (i) auf 0 setzen
|
5 | 5 until $i -eq $z # Until Schleife, Durchlaufen bis bed. Erfuellt
|
6 | 6 do # ? Schleifenbeginn
|
7 | 7 i = ${$i+1} # Zaehler Inkrementieren
|
8 | 8 echo ${i} # Aktuellen Zaehlerstand ausgeben
|
9 | 9 done # Zuruek zum Schleifenanfang
|
10 | 10 echo "Fertig!" # Fertig
|
Bis zur Zeile 3 läuft es, kommen folgende Fehler:
1 | ich@testrechner ~ $ sh test.sh
|
2 | Zahl: 3
|
3 | Es wird bis 3 gezaehlt
|
4 | test.sh: 5: test.sh: 0: not found
|
5 | test.sh: 7: test.sh: Bad substitution
|
kann mir jemand sagen wo der fehler liegt? OS ist Ubuntu 12.10
ich z.b. schon versucht in zeile 5 das $ wegzunehmen, aber dann kommt
ein fehler das z.b. i nicht gefunden wurde...
danke im vorraus anton