bash - expr 中的 shell float

标签 bash shell

我正在尝试从中获取一个 float :

totalmark=$(expr $sum / $subjects )

这是正确的吗?

最佳答案

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

例如 awk

totalmark=$(awk 'BEGIN{print $sum / $subjects}')

或公元前

totalmark=$(echo "scale=2;$sum/$subjects"|bc)

如果您有幸使用 bash 以外的其他 shell,请尝试 zsh 或 ksh

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

$ ksh -c 'echo $((4/1.3))'
3.07692307692307692

关于bash - expr 中的 shell float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2362154/

相关文章:

python - 使 Python 脚本与 linux 包相结合,易于最终用户安装

linux - 使用 sed 替换 yaml 文件中的键/值

shell - 在脚本因失败退出之前立即运行命令

linux - [ : : integer expression expected , 是我在 ubuntu 18.04 中调用 bash 脚本的服务的 systemctl 状态

bash - 更改子进程中的环境变量 - bash

linux - 如何检查 execvp 函数是否失败或成功?

python - 将列表作为变量从 bash 脚本传递给 python 脚本

linux - 无法在 awk 命令的固定搜索中使用 unix $variable

bash - 将多个函数传递给远程 shell/mkdir 找不到目录

shell - 主机上的 Vagrant 供应