运行Shell脚本出现bc: command not found错误的原因是什么?
Shell脚本报错
bc: command not found原因及解决办法 错误原因
i/shell.sh:line 18: bc: command not found.
该报错核心原因是当前系统没有预装bc工具:bc是Linux/Unix环境下专门用于高精度算术运算的命令行工具,你脚本中计算平均值的行avg=$(echo $sum/$N | bc -l)依赖该工具实现浮点数除法,系统找不到对应可执行文件就会抛出该错误。
解决办法
方法1:安装bc工具
根据你使用的发行版执行对应的安装命令即可:
- Debian/Ubuntu系列:
sudo apt update && sudo apt install bc - RHEL/CentOS/Fedora系列:
sudo dnf install bc(旧版本可替换为sudo yum install bc) - Arch Linux系列:
sudo pacman -S bc
安装完成后再运行脚本即可正常执行。
方法2:使用awk替代bc(无需额外安装工具)
大部分发行版都会默认预装awk,可以直接修改脚本中计算平均值的代码行,替换为awk实现浮点数计算:
把原代码的
avg=$(echo $sum/$N | bc -l)
修改为:
avg=$(awk -v sum="$sum" -v N="$N" 'BEGIN{printf "%.6f", sum/N}')
即可在不安装bc的前提下得到相同的计算结果。
内容的提问来源于stack exchange,提问作者amila krishan
相关产品推荐
相关产品推荐

