No meu problema, aparece j
valor e i
alcance de valor 6
; onde i
só deve correr até 5
. Alguém pode explicar?
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;
SAÍDA :
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
Responder1
A razão pela qual seu script não está funcionando é porque você está usando o -le
. Isso faz com que seu script pense que quando chegar a 5, ele ainda será executado porque é igual a 5. Mude -le
para -lt
.