expr 是 Linux 和 Unix 系统中的一个命令行工具,用于计算表达式的值。它主要用于 shell 脚本中,以便执行算术运算和测试操作。以下是 expr 命令的一些基本用法和选项:
基本语法
expr 表达式运算符
+:加法-:减法*:乘法/:除法%:取模(求余数)=:等于(用于测试)!=:不等于(用于测试)>:大于(用于测试)<:小于(用于测试)>=:大于等于(用于测试)<=:小于等于(用于测试)
字符串操作
::字符串匹配操作,类似于 shell 中的模式匹配。
实例
- 算术运算:
expr 3 + 5输出结果为 8。
- 字符串连接:
expr "Moon" : "Moo"c输出结果为 Moonshot。
- 比较操作:
expr 10 > 5输出结果为 1(表示真),如果比较结果为假,则输出 0。
- 组合运算:
expr 5 \* 2 + 3输出结果为 13。注意乘法运算符前需要使用反斜杠 \ 进行转义,因为 * 在 shell 中是一个特殊字符。
- 测试字符串长度:
expr length "Moonshot"输出结果为 8,表示字符串 "Moonshot" 的长度。
- 字符串匹配:
expr "Moonshot" : "Moo"c输出结果为 1,表示 "Moonshot" 匹配模式 "Moo"c。
- 逻辑与:
expr \( 2 + 2 = 4 \) && \( 3 + 3 = 6 \)输出结果为 1,表示两个条件都为真。
- 逻辑或:
expr \( 2 + 2 = 4 \) || \( 3 + 3 = 5 \)输出结果为 1,表示至少有一个条件为真。
expr 命令在处理复杂的算术运算时不如 awk 或 bash 内置的算术扩展方便,但在简单的脚本中进行基本的算术和字符串操作时非常有用。
