bashtamsayı olmayan aritmetiği işleyemez. Tüm ifadeler tamsayı olduğu sürece size doğru sonucu verecektir. Bu nedenle, hesaplamanızda bir yerde tamsayı olmayan bir değer elde etmekten kaçınmanız gerekir.
Sizin durumunuzda, vb. Değerlendirirken 1 / 5, 2 / 5bazı tamsayı olmayan değerlere bash karşılık gelen tamsayı sıfır değerleri oluşturur ve sonuçlar buna göre sıfır olur. Öncelik bölünerek çoğalan onlar ifadesi yerleştirilir aynı ve aynı emsal operatörleri hep soldan sağa yürütülür vardır.
Etrafta bir çalışma ilk önce çarpma ve sonra bash asla tamsayı olmayan değeri işlemek zorunda değilsiniz. Düzeltilen ifade,
$ max=5; for e in $(seq 1 1 $max); do percent=$(( $e*100/$max )); echo "echo $e / $max : = $percent"; done
echo 1 / 5 : = 20
echo 2 / 5 : = 40
echo 3 / 5 : = 60
echo 4 / 5 : = 80
echo 5 / 5 : = 100