Linux之expr命令详解

Posted hui-shao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux之expr命令详解相关的知识,希望对你有一定的参考价值。

expr命令:
    expr命令是一个手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串。
  –格式为:
    expr Expression(命令读入Expression 参数,计算它的值,然后将结果写入到标准输出)
  –参数应用规则:
    用空格隔开每个项;
    用 (反斜杠) 放在 shell 特定的字符前面;
    对包含空格和其他特殊字符的字符串要用引号括起来
  


 

–expr用法实例讲解:

    expr命令一般用于整数值,但也可用于字符串
  一般格式为:
    #expr argument operator argument
    expr也是一个手工命令行计数器:
    >#expr 10 + 10
    >20

  技术分享图片

    注意:运算符号两边都有空格
    使用乘法计算时,要使用斜线将*进行转义,否则shell解释器会解析*特殊符号的
    >expr 20 * 2
    >40

  技术分享图片



增量计数
  expr在循环中用于增量计算。首先,循环初始化为0,然后循环值加1,反引号的用法意
  即替代命令。最基本的一种是从(expr)命令接受输出并将之放入循环变量。
  $a=0
  b=`expr $a + 1`

  技术分享图片

 

数值测试
  可以用expr测试一个数。如果试图计算非整数,将返回错误。
  非整数:

  # rr=1.1
  # expr $rr + 1
  expr: non-integer argument

  整数:
  # bb=1
  # expr $bb + 1
  2

  技术分享图片
模式匹配
  expr也有模式匹配功能。可以使用expr通过指定冒号选项计算字符串中字符数。.*意即任何字符重复0次或多次
  # value=linux.do
  # expr $value : ‘.*‘
  8

  技术分享图片

 

数组
  $varname[0]=value1
  $varname[1]=value2
  ....
  来定义用
  $echo ${varname[0]}
  方式来引用  
  ### 字串长度   
  shell>> expr length "this is a test"
  14   
  ### 数字商数   
  shell>> expr 14 % 9
  5   

  技术分享图片

  ### 从位置处抓取字串
  shell>> expr substr $value 2 3 
  inu

  技术分享图片

  ### 数字串 only the first character
  shell>> expr index $value u
  4

  技术分享图片

  ### 字串真实重现
  shell>> expr $value 
  linux.do

  技术分享图片

 

注:本文中所有的$value都是在环境中预先定义的变量“value=linux.do”


为了便于交流,大家可以进群交流,分享经验,共同进步!

技术分享图片

 




















































以上是关于Linux之expr命令详解的主要内容,如果未能解决你的问题,请参考以下文章

linux expr命令参数及用法详解

linux文本三剑客之sed命令详解

Linux命令详解之–ls命令

每周一个linux命令之---uptime详解

linux之cp/scp命令+scp命令详解

(转)Linux命令之Ethtool用法详解