Como posso fazer cálculos básicos em um script de shell?

3

Eu quero executar algumas operações matemáticas no shelll. Por exemplo:

5+50*3/20 + (19*2)/7

Eu tentei:

 #!/bin/bash
 read equ
 echo "scale=3; $equ" | bc -l

Resultado esperado:

 17.929

Minha saída:

 17.928
    
por Tiger 01.04.2016 / 13:24

2 respostas

5

bc está truncando, tente isso:

printf "%.3f\n" $(echo "$equ" | bc -l)
    
por 01.04.2016 / 13:58
0

Você também pode usar perl -e "print $expr" ,

por exemplo. perl -e "print 5+50*3/20 + (19*2)/7" outputs 17.9285714285714

    
por 01.04.2016 / 16:56