[Linux Script] Endlosschleife?

... komplette Frage anzeigen

4 Antworten

Hallo

Ich wollte mal Fragen wie man eine Endlosschleife in Linux schreibt,

Das geht mit While- oder Until-Schleifen, je nachdem was erwartet wird.

Aber bist Du sicher das Du nicht nur sicherstellen möchtest das ein Programm das gestartet wurde und sich (warum auch immer) beendet, gleich wieder startet?

  • Die while-Schleife wird so lange ausgeführt wie  das Kommando in der while-Schleife einen Wert 0 (also richtig) zurück gibt.
  • Die until-Schleife wird im Gegensatz zur while-Schleife nur so lange ausgeführt, bis das Kommando in der until-Schleife einen Wert ungleich 0 (also falsch) zurück gibt.

Im folgenden Beispiel:

COUNTER=20
while [ $COUNTER -lt 10 ]; do
echo COUNTER $COUNTER
let COUNTER-=1
done

Dies ist eine Endlosschleife weil der Zähler (20) eben nicht weniger als 10 ist (aus der ersten Auswertung Schleifenbedingung ).

Linuxhase

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von jan2220
03.03.2016, 16:47

Wenn ich es mit './script.sh' ausführte kommt das: line 6: syntax error: unexpected end of file

0

entweder du hast dich verschrieben, das do vergessen, vielleicht aber auch die Datei mit Windows geschrieben und dann unter Linux gestartet. (Microsoft verwendet eine andere Kennung für ein Zeilenende)

Schreibe die Befehle noch mal auf, denn die so wie aufgeschrieben, funktioniert die Endlosschleife.

Antwort bewerten Vielen Dank für Deine Bewertung

Hast du das do vergessen oder hast du da wirklich

 # Kommandos der Endlosschleifen

hingeschrieben?

Das sollst du durch einen eigenen Befehl, z.B. "echo Hallo" ersetzen.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von jan2220
03.03.2016, 16:46

Ja klar hab ich das

0

Hallo,

vllt. Funktioniert das hier:

#!/bin/bash

while [ true ] ; do
BEFEHL z.B. Echo YOOOO
done
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von jan2220
03.03.2016, 16:45

Wenn ich es mit './script.sh' ausführe kommt dies:  line 4: syntax error: unexpected end of file

0

Was möchtest Du wissen?