I'm trying to get a float number from this :
totalmark=$(expr $sum / $subjects )
Is this correct?
bash doesn't support floats, use awk or bc/dc
eg awk
totalmark=$(awk 'BEGIN{print $sum / $subjects}')
or bc
totalmark=$(echo "scale=2;$sum/$subjects"|bc)
if you have the luxury to use different shells other than bash, try zsh or ksh
$ zsh -c 'echo $((4/1.3))'
3.0769230769230766
$ ksh -c 'echo $((4/1.3))'
3.07692307692307692
I don't think bash has floating-point capabilities. You can try:
echo "$sum/$subjects" | bc -l
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With