Ubuntu один не работает?

Bash не очень хорошо справляется с такой арифметикой ... Вот ваша проблема:

$ echo $((1/5))
0
$ echo $((2/5))
0
$ echo $((4/5))
0
$ echo $((4/5))
0

Если вам нужно обрабатывать нецелые значения, вы можете использовать bc

$ max=5; for e in $(seq 1 1 "$max"); do percent=$(bc <<< "scale=1 ; $e/$max*100") ; 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

(благодаря @Arronical для указания того, как форматировать вывод как целые числа)

1
задан 22 February 2012 в 09:14

0 ответов

Другие вопросы по тегам:

Похожие вопросы: