を終了しませんが、私は動作しません、次のBashスクリプト。整数比較とループは決して
を証明するために、次の最小限の例を書いた:
#! /bin/bash
n=1 m=2
while ((n < m))
echo "$n $m"
((n=n+1))
do
continue
done
DOES次の仕事:私は理解して
#! /bin/bash
n=1 m=2
while true
echo "$n $m"
((n=n+1))
do
if ((n < m))
then
continue
else
break
fi
done
なぜ2番目のフォームが機能するのか?私はなぜ最初のフォームが動作しないのか分かりません。
私は、これらのスクリプトが同等であると考えて書きました。 (同じ出力を生成します。)しかし、最初のループ無限大!なぜこれが起こるのですか?
のbashの狂気 - おかげでこれがうまく物事をクリア! – user3728501
@ user3728501、あなたが 'while(n
それは必ずしも良いまたは悪い言語のデザインではありません。私は構文を理解できませんでした。誤解文法!=汚いコーディング。 – user3728501