problem bei while schleife

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
OldGod78
Beiträge: 190
Registriert: 20.04.2016 20:59:51
Kontaktdaten:

problem bei while schleife

Beitrag von OldGod78 » 11.02.2017 15:32:02

hallo , was ist hier denn falsch ?

Code: Alles auswählen

#!/bin/sh

while true
do
	clear
	echo "welche zahl ?"
	read zahl
	if [$zahl < 1000 ]; then
		echo "zu klein!"
	fi
done
echo "gut so."
erhalte nach egal welcher eingabe wieder "welche zahl ?".
Zuletzt geändert von OldGod78 am 11.02.2017 15:37:31, insgesamt 2-mal geändert.

DeletedUserReAsG

Re: "not found" bei read

Beitrag von DeletedUserReAsG » 11.02.2017 15:35:12

was ist hier denn falsch?
Du hast ein Leerzeichen vergessen.

Edit: ist unschön, wenn die ursprüngliche Frage geändert wird, während man schreibt.
Zuletzt geändert von DeletedUserReAsG am 11.02.2017 15:37:03, insgesamt 1-mal geändert.

OldGod78
Beiträge: 190
Registriert: 20.04.2016 20:59:51
Kontaktdaten:

Re: problem bei while schleife

Beitrag von OldGod78 » 11.02.2017 15:36:50

stimmt aber ist immer noch so :/

DeletedUserReAsG

Re: problem bei while schleife

Beitrag von DeletedUserReAsG » 11.02.2017 15:38:20

Antwort auf die geänderte Frage: while true; do … ; done ist nunmal ’ne Endlosschleife.

OldGod78
Beiträge: 190
Registriert: 20.04.2016 20:59:51
Kontaktdaten:

Re: problem bei while schleife

Beitrag von OldGod78 » 11.02.2017 15:39:30

wie muss es es dann machen ?

TomL

Re: problem bei while schleife

Beitrag von TomL » 11.02.2017 15:56:20

Code: Alles auswählen

else
    break
einbauen.

DeletedUserReAsG

Re: problem bei while schleife

Beitrag von DeletedUserReAsG » 11.02.2017 15:57:58

Vor Allem würde ich die Abfrage aus der Schleife nehmen. Sonst wird sie nunmal bei jedem Durchlauf wiederholt.

OldGod78
Beiträge: 190
Registriert: 20.04.2016 20:59:51
Kontaktdaten:

Re: problem bei while schleife

Beitrag von OldGod78 » 11.02.2017 15:58:49

so oder nicht ?

Code: Alles auswählen

while true
do
	echo "welche zahl ?"
	read zahl
	if [ $zahl < 1000 ]; then
		echo "zu klein!"
	else
		break
	fi
done
echo "gut so."


OldGod78
Beiträge: 190
Registriert: 20.04.2016 20:59:51
Kontaktdaten:

Re: problem bei while schleife

Beitrag von OldGod78 » 11.02.2017 16:49:28

ah danke . aber wieso kann ich kein clear direkt nach do machen ? dann sehe ich immer nur "welche zahl ?" und nicht "zu klein!" , wieso ? also quasi so :

Code: Alles auswählen

while true
do
   clear
   echo "welche zahl ?"
   read zahl
   if [ $zahl -lt 1000 ]; then
      echo "zu klein!"
   else
      break
   fi
done
echo "gut so."

TomL

Re: problem bei while schleife

Beitrag von TomL » 11.02.2017 16:55:10

Code: Alles auswählen

      echo "zu klein!"
      /bin/sleep 2
oder

Code: Alles auswählen

      echo "zu klein!"
      read -p "Taste"

OldGod78
Beiträge: 190
Registriert: 20.04.2016 20:59:51
Kontaktdaten:

Re: problem bei while schleife

Beitrag von OldGod78 » 11.02.2017 16:58:09

das ersetzt aber doch nicht "clear" ´...

TomL

Re: problem bei while schleife

Beitrag von TomL » 11.02.2017 17:02:26

richtig, aber sleep und tastendruck machen deutlich, warum du die Fehlermeldung nicht lesen kannst..Btw, die Fehlermeldung kommt ja korrekt... nur bist Du zu langsam, um es in der Zeit zwischen echo und clear zu lesen. :mrgreen: und sleep oder Taste geben dir die Zeit.

OldGod78
Beiträge: 190
Registriert: 20.04.2016 20:59:51
Kontaktdaten:

Re: problem bei while schleife

Beitrag von OldGod78 » 11.02.2017 17:08:01

ah verstehe

Antworten