j
私の問題では、値とi
値が に達するように見えます6
が、i
までしか実行されません5
。誰か説明してもらえますか?
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;
出力:
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
答え1
スクリプトが動作しない理由は、 を使用しているためです-le
。これにより、スクリプトは 5 に達したときに 5 に等しいため、まだ実行されると考えてしまいます。-le
を に変更します-lt
。