shell中的shell浮点数

Zen*_*net 6 bash shell

我想从这里得到一个浮点数:

totalmark=$(expr $sum / $subjects )
Run Code Online (Sandbox Code Playgroud)

它是否正确?

gho*_*g74 10

bash不支持浮动,使用awk或bc/dc

例如awk

totalmark=$(awk 'BEGIN{print $sum / $subjects}')
Run Code Online (Sandbox Code Playgroud)

或者

totalmark=$(echo "scale=2;$sum/$subjects"|bc)
Run Code Online (Sandbox Code Playgroud)

如果您有奢侈使用除bash之外的其他shell,请尝试使用zsh或ksh

$ zsh -c 'echo $((4/1.3))'
3.0769230769230766

$ ksh -c 'echo $((4/1.3))'
3.07692307692307692
Run Code Online (Sandbox Code Playgroud)


Alo*_*hal 5

我不认为bash具有浮点功能.你可以试试:

echo "$sum/$subjects" | bc -l
Run Code Online (Sandbox Code Playgroud)