Expr

是Unix与Unix-like操作系统下计算表达式及输出相应结果的命令行工具，最早见于Unix v7。这个命令也已经被移植到IBM i系统上。

 概览 
expr计算整数或字符串表达式，包括正则表达式格式匹配。表达式中的每一个符号（运算符、值等）必须以分开的参数传递。书写表达式最大的挑战就是要避免Unix shell将expr需要处理的字符当作控制指令而执行动作。

 语法 
语法： 

三种运算可用：

 整数：加、减、乘、除、求余数
 字符串：匹配正则表达式；某些版本上还可以查找一组字符("index")、子字符串("substr")，求字符串长度("length")
 两者皆可：比较（如：相等、不等、小于）

 示例 
下面是一个涉及布尔表达式的（不符合POSIX标准）例子：
 expr length  "abcdef"  "<"  5  "|"  15  -  4  ">"  8
这个例子会输出"1"。这是因为"abcdef"长为6（也就是大于5），故"|"左侧表达式返回0；但“15-4”得11（也就是大于8），因此右侧表达式为真，使得整个表达式为真，所以结果为1。在此示例中，程序退出状态为0。

在纯算术运算下，通常使用bc更为简便，是因为它将整个表达式看作一个参数。例如：
 echo "3 * 4 + 14 / 2" | bc
在可移植脚本编程时，"index"、"length"、"match"和"substr"等命令的使用需要避免；字符串匹配仍然可行，但必须使用"string : regexp"语法。

 另请参见 

 Unix命令列表

 参考资料 

 外部链接 


 expr invocation in GNU coreutils manual 

Category:GNU计划软件
Category:Unix编程工具
Category:标准Unix程序
Category:Unix SUS2008实用工具