Skip to content
On this page

bash脚本_expr表达式


标签:linux/bash脚本  

expr

  • 运算符两侧一定加空格
  • 变量一定要加 $
  • 不支持自增自减和幂运算
  • |& 没有短路
  • 支持更多运算,字符串的运算
  • 会回显,获取结果需要使用命令置换符
  • | & . * > < 等算术运算符需要转义

expr 的条件运算

bash
arg1 | arg2
# 如果 arg1 的值不为 0,返回 arg1 的值,否则返回 arg2 的值
arg1 & arg2
# 如果参数的值不为 0,返回 arg1 的值否则返回 arg2 的值
# 两个参数的值都不能为空,也不能不定义
arg1 < arg2
arg1 <= arg2
arg1 = arg2
arg1 != arg2
arg1 >= arg2
arg1 > arg2

expr 的算术运算

bash
arg1 + arg2
arg1 - arg2
arg1 * arg2
arg1 / arg2
arg1 % arg2

expr 的字符串运算

  • match 返回 str2str1 中完全匹配的个数
bash
match $str1 $str2
  • index 返回字符最早出现的位置
    • 如果查找多个字符,会按照每个字符查找,以第一个找到的位置为准
bash
expr index "hello" "bl" # 返回的值为 3
  • length 返回字符的长度
bash
expr length "hello"

Last updated: