В этом примере "нормальный", если еще работает как ожидаемый счетчик приращения:
fail_count=0
for i in {1..1000}; do
curl --fail -sL "$URL/$i"
if [ $? -ne 0 ]; then ((fail_count++)); else fail_count=0; fi
echo $fail_count
[[ $fail_count -eq 10 ]] && exit 0
done
и здесь fail_count
значение всегда равно 0:
fail_count=0
for i in {1..1000}; do
curl --fail -sL "$URL/$i"
[[ $? -ne 0 ]] && ((fail_count++)) || fail_count=0
echo $fail_count
[[ $fail_count -eq 10 ]] && exit 0
done
Приращение работает, когда счетчик переменная не установлена в || fail_count=0
part.
Так в чем же разница?