In meinem Problem sieht es so aus, als ob j
Wert und i
Wert erreichen 6
; wobei i
sie nur bis laufen sollten 5
. Kann das bitte jemand erklären?
i=0;
j=0;
echo "values of $i and $j" > debug.txt;
while [ $j -le 5 ]
do
j=expr $j + 1
i=expr $i + 1
echo "values of $i and $j" >> debug.txt
done;
cat debug.txt;
AUSGABE :
value of i is 0 and j is 0
value of i is 1 and j is 1
value of i is 2 and j is 2
value of i is 3 and j is 3
value of i is 4 and j is 4
value of i is 5 and j is 5
value of i is 6 and j is 6
Antwort1
Der Grund, warum Ihr Skript nicht funktioniert, liegt darin, dass Sie verwenden -le
. Dadurch geht Ihr Skript davon aus, dass es bei Erreichen von 5 immer noch ausgeführt wird, da es gleich 5 ist. Ändern Sie das -le
in -lt
.