在Linux系统中,并没有一个名为“加法”的独立命令,但通过内置的shell功能(如算术运算符、命令替换)或外部工具(如bc
、expr
、awk
等),可以实现数字的加法运算,以下是几种常见的加法实现方式及其详细说明:

使用Shell内置算术运算符
Bash等现代Shell支持语法进行整数运算,无需额外安装工具。
result=$((10 + 20)) echo $result # 输出30
特点:仅支持整数运算,语法简洁,适合脚本中快速计算。
注意事项:运算符两侧需留空格,否则会被视为字符串连接。
使用expr
命令
expr
是Linux早期提供的表达式计算工具,支持基础算术运算:
expr 10 + 20 # 输出30(需空格分隔)
注意事项:

- 运算符与数字间必须有空格,否则报错。
- 输出结果默认带换行符,可通过管道配合
tr
删除:expr 10 + 20 | tr -d '\n'
。 - 不支持浮点数,且需对特殊字符(如)转义。
使用bc
命令(支持浮点数)
bc
(Basic Calculator)是强大的计算器工具,支持高精度浮点运算:
echo "10.5 + 20.3" | bc # 输出30.8
交互式模式:
bc 10 + 20 30 # 直接显示结果
进阶用法:
- 设置小数位数:
echo "scale=2; 10/3" | bc
(输出3.33)。 - 科学计数法:
echo "1e2 + 5" | bc
(输出105)。
使用awk
命令
awk
是文本处理工具,也可用于算术运算,尤其适合处理列数据:

echo -e "10\n20" | awk '{sum += $1} END {print sum}' # 输出30
特点:
- 支持浮点数,默认精度较高。
- 可结合文件处理,例如计算文件中某一列的总和。
使用let
命令
let
是Bash内置命令,用于执行整数运算:
let a=10+20 echo $a # 输出30
注意事项:变量赋值时无需符号,但输出时需加。
使用declare
命令
通过-i
选项声明整数变量,并直接赋值:
declare -i a=10 b=20 result=a+b echo $result # 输出30
使用Python(跨平台方案)
若系统已安装Python,可通过其执行加法运算:
python3 -c "print(10 + 20)" # 输出30
优势:支持复杂数学运算,语法直观。
不同工具的对比
工具 | 支持类型 | 精度 | 适用场景 | 示例 |
---|---|---|---|---|
整数 | 默认 | 脚本快速整数运算 | $((10 + 20)) |
|
expr |
整数 | 默认 | 兼容旧版脚本 | expr 10 + 20 |
bc |
浮点数 | 可配置 | 高精度计算 | `echo "10.5+20.3" |
awk |
浮点数 | 高 | 文本数据列运算 | awk '{sum+=$1}… |
let |
整数 | 默认 | 变量直接赋值 | let a=10+20 |
Python | 所有类型 | 高 | 复杂数学逻辑 | python3 -c "…" |
FAQs
Q1:为什么expr 10+20
输出10+20而不是30?
A:expr
要求运算符与数字之间必须有空格,正确写法为expr 10 + 20
,若直接写10+20
,expr
会将其视为字符串并原样输出。
Q2:如何使用bc
计算带小数的加法并保留两位小数?
A:通过scale
参数控制小数位数,echo "scale=2; 3.14159 + 2.71828" | bc
,输出结果为86
(第三位四舍五入)。