En mi problema, aparece como j
valor y i
alcance de valor 6
; donde i
sólo debería llegar hasta 5
. ¿Alguien puede explicarme?
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;
PRODUCCIÓN :
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
Respuesta1
La razón por la que tu script no funciona es porque estás usando -le
. Esto hace que su secuencia de comandos piense que cuando llegue a 5, aún se ejecutará porque es igual a 5. Cambie el -le
valor a -lt
.