Ich teste eine einfache Programm-Shell (sh).Shell sh, Syntax while (Bedingung)
Ich verwende While-Schleife, aber es zeigt einen Fehler.
./essai.sh: Zeile 5: Test: Zu viele Argumente
Dies ist der Code:
#!/bin/sh
numero=1
max=3
while test [ $numero -le $max ]
do
ping -c 2 127.0.0.1
numero=$(($numero + 1))
printf $numero
sleep 5
done
Es ist sehr empfindlich auf Leerzeichen ... Ich habe diese Lösung vorher getestet, aber ich habe nicht auf Leerzeichen geachtet. Danke trotzdem, es funktioniert jetzt! –
Oder entfernen Sie einfach die eckigen Klammern: 'während test $ numero -le $ max' – cfromme
Oder verwenden Sie parentheseis und machen den Vergleich natürlicher aussehen:' while ((numero <= max)) '.... OOPS, gerade bemerkt: Wir haben Posix Shell hier, nicht bash. In diesem Fall würde diese Alternative nicht funktionieren. – user1934428