bashでポストインクリメントを行う正しい方法についてのちょっとした質問。
while true; do
VAR=$((CONT++))
echo "CONT: $CONT"
sleep 1
done
この場合、VARは1から始まります。
CONT: 1
CONT: 2
CONT: 3
しかし、私がこれを行う場合:
while true; do
echo "CONT: $((CONT++))"
sleep 1
done
0から始まります。
CONT: 0
CONT: 1
CONT: 2
((CONT ++))はCONT(undefined、¿0?)を評価し、+ 1を追加するため、最初のケースは正常に動作しているようです。
ステートメントのような動作を取得echo
して変数に割り当てるにはどうすればよいですか?
編集:私の最初の例では、CONTをエコーする代わりに、VARをエコーする必要がありました。そうすれば、問題なく動作するので、最初からエラーでした。