Как думаете — сработает такая команда?
Как видите, bash выполнять её не хочет, а вот в zsh она обрабатывается совершенно нормально:
В bash просто нельзя выполнять вычисления с дробными числами, не прибегая при этом к
bash% echo $(( .1 + .2 ))
bash: .1 + .2 : syntax error: operand expected (error token is ".1 + .2 ")
Как видите, bash выполнять её не хочет, а вот в zsh она обрабатывается совершенно нормально:
zsh% echo $(( .1 + .2 ))
0.30000000000000004 # Ну, "работает" в той мере, в какой работает IEEE-754.
В bash просто нельзя выполнять вычисления с дробными числами, не прибегая при этом к
bc
, dc
или к каким-нибудь хакам. В сравнении с возможностью просто воспользоваться конструкцией вида a + b
всё это кажется некрасивым, медленным и сложным.