expr命令

​expr​​命令计算给定表达式并显示其相应的输出,其被使用用于:基本操作像加法、减法、乘法、除法和模等等整数,求值正则表达式,字符串操作,如子字符串,字符串长度等。

语法

expr [EXPRESSION | OPTION]

参数

  • ​--help​​: 输出帮助信息。
  • ​--version​​: 输出版本信息。

表达式

  • ​ARG1 | ARG2​​​:​​ARG1​​​,如果它既不为​​null​​​也不为​​0​​​,否则为​​ARG2​​。
  • ​ARG1 & ARG2​​​: 如果两个参数都不为​​null​​​或​​0​​​,则为​​ARG1​​​,否则为​​0​​。
  • ​ARG1 < ARG2​​​:​​ARG1​​​小于​​ARG2​​。
  • ​ARG1 <= ARG2​​​:​​ARG1​​​小于等于​​ARG2​​。
  • ​ARG1 = ARG2​​​:​​ARG1​​​等于​​ARG2​​。
  • ​ARG1 != ARG2​​​:​​ARG1​​​与​​ARG2​​不相等。
  • ​ARG1 >= ARG2​​​:​​ARG1​​​大于或等于​​ARG2​​。
  • ​ARG1 > ARG2​​​:​​ARG1​​​大于​​ARG2​​。
  • ​ARG1 + ARG2​​​:​​ARG1​​​和​​ARG2​​的算术和。
  • ​ARG1 - ARG2​​​:​​ARG1​​​和​​ARG2​​的算术差。
  • ​ARG1 * ARG2​​​:​​ARG1​​​和​​ARG2​​的算术乘积。
  • ​ARG1 / ARG2​​​:​​ARG1​​​除以​​ARG2​​的算术商。
  • ​ARG1 % ARG2​​​:​​ARG1​​​除以​​ARG2​​的算术余数。
  • ​STRING : REGEXP​​​: 正则表达式​​REGEXP​​​在​​STRING​​中的定位模式匹配。
  • ​match STRING REGEXP​​​: 与​​STRING​​​相同​​REGEXP​​。
  • ​substr STRING POS LENGTH​​​:​​STR​​​的子字符串,​​POS​​​从​​1​​开始计数。
  • ​index STRING CHARS​​​: 找到任何​​CHARS​​​的​​STRING​​​中的索引,或者为​​0​​。
  • ​length STRING​​: 字符串长度。
  • ​+ TOKEN​​​: 将​​TOKEN​​​解释为字符串,即使它是像​​match​​​这样的关键字或像​​/​​这样的操作符。
  • ​( EXPRESSION )​​​:​​EXPRESSION​​的值。

示例

计算​​12 + 9​​。

expr 12 + 9
# 21

计算​​12 * 2​​。

expr 12 \* 2
# 24

对​​shell​​​脚本中的变量执行操作,注意保存成​​.sh​​​文件并赋权限​​755​​再执行。

echo "Enter two numbers"
read x
read y
sum=`expr $x + $y`
echo "Sum = $sum"

每日一题

https://github.com/WindrunnerMax/EveryDay

参考

https://www.computerhope.com/unix/uexpr.htm
https://www.runoob.com/linux/linux-comm-expr.html
https://www.geeksforgeeks.org/expr-command-in-linux-with-examples/