o...">

Mathematical expression in a print command in Linux

I cannot make a mistake in this command:

a=2
b=5
c=3
printf "%.2f\t" "'$a'+'$c'*'$b'" > ofile.txt

I get the value as 50.00. But I have to get it at 17.00.

How to do this when a, b, c are floating point values? e.g. a = 2.4, b = 5.1 and c = 3.2

+4
source share
2 answers

The second argument to printf is interpreted as the string '2', which has an ascii value of 50. If you want to do arithmetic, use arithmetic evaluation in bash:

printf "%.2f\t" "$((a+b*c))" > ofile.txt
+6
source
printf "%.2f\t" "$(($a+$b*$c))" > yourname.txt
+1
source

All Articles