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命令详解的更多相关文章

  1. Linux下ps命令详解 Linux下ps命令的详细使用方法

    http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...

  2. linux之find命令详解

    linux之find命令详解 查找文件find ./ -type f查找目录find ./ -type d查找名字为test的文件或目录find ./ -name test查找名字符合正则表达式的文件 ...

  3. Linux下rar命令详解

    Linux下rar命令详解 用法: rar <命令> -<选项1> ….-<选项N> < 操作文档> <文件…> <@文件列表…> ...

  4. linux下tar命令详解

     linux下tar命令详解    tar是Linux环境下最常用的备份工具之一.tar(tap archive)原意为操作磁带文件,但基于Linux的文件操作机制,同样也可适用于普通的磁盘文件.ta ...

  5. Linux下chkconfig命令详解(转)

    Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. ...

  6. Linux 之Cut命令详解

    摘自:http://blog.csdn.net/zsf8701/article/details/7718680 Linux 之Cut命令详解 cut是一个选取命令,就是将一段数据经过分析,取出我们想要 ...

  7. Linux知识积累(4) Linux下chkconfig命令详解

    Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. ...

  8. Linux下top命令详解

    Linux下top命令详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不断刷 ...

  9. LINUX系统VMSTAT命令详解

    linux系统vmstat命令详解 [转自 https://www.cnblogs.com/wensiyang0916/p/6514820.html] vmstat 1    1表示每秒采集一次vms ...

随机推荐

  1. linux下git服务器安装

    git服务器配置http://www.cnblogs.com/dee0912/p/5815267.html git教程https://www.liaoxuefeng.com/wiki/00137395 ...

  2. codeforces 985A Chess Placing

    题意: 移动最少的步数,使得所有的棋子在同一颜色的格子中. 每次一个棋子只能向左或者向右移动一步,不能移到有棋子的格子中. 思路: 枚举全黑和全白的情况. 对于每一个需要移动的棋子,它移动到的位置一定 ...

  3. 修复svn hook导致的字符集错误

    修改pre-commit钩子,如果返回中文信息,可能会报如下错误: Error output could not be translated from the native locale to UTF ...

  4. 在oracle中如何把前台传过来的日期字符串转换成正确格式

    insert into ibill_sys_version(versionId,productCode,versionCode,versionDesc,versionUrl, upgradeWay,u ...

  5. Docker Kubernetes 容器重启策略

    Docker Kubernetes 容器重启策略 当容器被创建时,容器会根据重启策略来进行容器重启. 支持三种策略: Always:当容器终止退出后,总是重启容器,默认策略. OnFailure:当容 ...

  6. 剑指offer(43)左旋转字符串

    题目描述 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果.对于一个给定的字符序列S,请你把其循环左移K位后的序列输出.例如,字符序列S=”abc ...

  7. iOS开发 -------- AFNetworking使用中遇到的小问题

    1 在使用的时候会经常出现如下图打印信息,导致请求的数据不能正常显示出来 2 此时找到AFJSONResponseSerializer类,找到箭头标识的位置 3 在下图标识的位置,往集合里面添加 元素 ...

  8. Python3 tkinter基础 Menu add_radiobutton 单选的下拉菜单

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  9. TCP协议三次握手、四次挥手

    TCP的概述 TCP 把连接作为最基本的对象,每一条 TCP 连接都有两个端点,这种断点我们叫作套接字(socket),它的定义为端口号拼接到 IP 地址即构成了套接字,例如,若 IP 地址为 192 ...

  10. LINQ之路16:LINQ Operators之集合运算符、Zip操作符、转换方法、生成器方法

    本篇将是关于LINQ Operators的最后一篇,包括:集合运算符(Set Operators).Zip操作符.转换方法(Conversion Methods).生成器方法(Generation M ...