Bash não suporta aritmética de ponto flutuante, então você está preso com o uso de bc para isso. Você pode usar funções auxiliares escritas por você, semelhantes a float_eval
, o que torna o uso de bc como inline calculator um pouco mais fácil.
Se você não precisa usar bash, você também pode considerar o uso de zsh , que suporta operações de ponto flutuante. Exemplo:
evnu@centraldogma ~
% ((val = 1.0))
evnu@centraldogma ~
% ((val = 2.2))
evnu@centraldogma ~
% echo $val
2.2000000000
evnu@centraldogma ~
% ((val += 2.2))
evnu@centraldogma ~
% echo $val
4.4000000000