【Linux】一步一步学Linux——expr命令(265)

走远了吗. 提交于 2019-11-30 13:21:05

00. 目录

01. 命令概述

expr命令将表达式的值列印到标准输出。

expr命令的英文全称是“expression”,是一款表达式计算工具,使用它完成表达式的求值操作。

02. 命令格式

用法:expr 表达式
 或:expr 选项

03. 常用选项

      --help            显示此帮助信息并退出
      --version         显示版本信息并退出

常用的表达式

可用的表达式有:

  ARG1 | ARG2       若ARG1 的值不为0 或者为空,则返回ARG1,否则返回ARG2

  ARG1 & ARG2       若两边的值都不为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 相除之余数

  字符串 : 表达式               定位字符串中匹配表达式的模式

  match 字符串 表达式           等于"字符串 :表达式"
  substr 字符串 偏移量 长度     替换字符串的子串,偏移的数值从 1 起计
  index 字符串 字符             在字符串中发现字符的地方建立下标,或者标0
  length 字符串                 字符串的长度
  + TOKEN                    interpret TOKEN as a string, even if it is a
                               keyword like 'match' or an operator like '/'

  ( EXPRESSION )             value of EXPRESSION

04. 参考示例

4.1 加法运算

[deng@localhost tmp]$ expr 2 + 3
5
[deng@localhost tmp]$ 

4.2 减法运算

[deng@localhost tmp]$ expr 10 - 8
2
[deng@localhost tmp]$ 

4.3 乘法运算

[deng@localhost tmp]$ expr 3 \* 5
15
[deng@localhost tmp]$ 

4.4 除法运算

[deng@localhost tmp]$ expr 15 / 3
5
[deng@localhost tmp]$ 

4.5 求余运算

[deng@localhost tmp]$ expr 10 % 3 
1
[deng@localhost tmp]$ 

4.6 连除运算

[deng@localhost tmp]$ expr 100 / 2 / 2 
25
[deng@localhost tmp]$ 

4.7 计算字符串长度

[deng@localhost tmp]$ expr length "hello world"
11
[deng@localhost tmp]$ 

4.8 获取子串

[deng@localhost tmp]$ expr substr "hello world" 3 4
llo 
[deng@localhost tmp]$ 

4.9 获取字符串中第一次出现指定字符的位置

[deng@localhost tmp]$ expr  index "hello world" l
3
[deng@localhost tmp]$ 

4.10 逻辑运算

[deng@localhost tmp]$ expr 3 \< 5
1
[deng@localhost tmp]$ 

4.11 获取随机数

[deng@localhost tmp]$ expr $RANDOM % 100 + 1
30
[deng@localhost tmp]$ 

05. 附录

参考:【Linux】一步一步学Linux系列教程汇总

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!