Hallo zusammen,
kann mir jemand helfen?
In der "Community-Edition" von "linuxUSER 3.2017" ist im Artikel "Shell-Skripte selbst schreiben" u.a. eine Erklärung und Anleitung für "until-Schleifen". Soweit hab´ ich´s auch begriffen, aber mit dem dort angeführten Beispiel komme ich nicht weiter:
1 2 3 4 5 6 7 | #!/bin/sh a=3 b=0 until [ $a ‐eq $b ]; do echo $b b=$(echo $b + 1 | bc) done |
Dies soll eine Schleife darstellen, die solange läuft, bis der Wert der Variablen $a gleich dem der Variablen $b ist. Gebe ich im Terminal manuell "b=0" ein, danach b=$(echo $b + 1 | bc), so gibt mir echo $b "1" aus usw. So funktioniert´s. Lasse ich aber die o.a. Befehlsfolge als Skript laufen, bekomme ich Fehlermeldungen:
"Zeile 5: [: ‐gt: Zweistelliger (binärer) Operator erwartet."
, wenn ich die Shebang so setzte: #!/bin/bash.
und
" 5: [: 3: unexpected operator"
, wenn ich sie so setze: #!/bin/sh
Hat jemand eine Erklärung dafür? Ich komme alleine nicht weiter.
Grüsse. Rosika 😐