求表达式变量的值。expr 命令读入 Expression 参数,计算它的值,然后将结果写入到标准输出。

用法:expr Expression

Expression 参数规则:

  • 用空格隔开每个项。
  • 用 / (反斜杠) 放在 shell 特定的字符前面。
  • 对包含空格和其他特殊字符的字符串要用引号括起来。
  • 整数前面可以放一个一元连字符。在内部,整数被当作 32 位,双互补数。

注:expr 命令返回一个 0 来指示一个零值,而不是空字符串。
以下项描述了 Expression 参数的运算符和关键字。需要转义的字符由一个 / (反斜杠) 放在前面。这些项按照优先权递增的顺序列出,具有相等的优先权的运算符分组在 {} (大括号) 中:

  • Expression1 /| Expression2 返回 Expression1如果它不是空值或者 0 值的话,否则返回 Expression2。
  • Expression1 /& Expression2 返回 Expression1如果两个表达式都不是空值或者 0 值,否则返回一个 0 值。
  • Expression1 { =, />, />=, /<, /<=, != } Expression2 如果两个表达式都是整数,返回整数比较的结果;否则它返回的是字符串比较的结果。
  • Expression1 {+, - } Expression2 整数值变量的加或者减。
  • Expression1 { /*, /, % } Expression2 整数值变量的乘、除或者提供除法的余数。
  • Expression1 : Expression2 将 Expression1 的运算得到的字符串与 Expression2 的运算结果的正则表达式模式进行比较。正则表达式语法与 ed 命令相同,除了所有的模式固定到字符串的开始之外(也就是说,只有以字符串的第一个字符开始的序列才被正则表达式匹配)。因此 ^ (插入符号) 在这种情况下就不是特殊字符。

一般地,匹配运算符返回匹配的字符个数(失败的时候返回 0)。如果模式包含了一个子表达式,也就是:/( Expression /) 则会返回包含了实际匹配的字符的字符串。

字符串的操作

注: 以下字符串变量会超过标准,其行为可能在不同的操作系统中会有不同。这些字符串变量是“不”可移植的。

  • match String1 String2 与 Expression1 : Expression2 相同。
  • length String1 返回 String1 的长度。
  • index String1 String2 返回 String1 中包含 String2 中任意字符的第一个位置。
  • substr String1 StartPosition Length 返回一个以 StartPosition 的字符开始的在 String1 中的字符串,并且是 Length 长度的字符串。
代码示例:
  1. content="abc =efg";
  2. echo `expr length "$content"`;               # 输出为8
  3. echo `expr index "$content" "="`;            # 输出为5
  4. echo `expr substr "$content" "1" $index`;    # 输出为c =e
 
四则运算
expr命令一般用于整数值,但也可用于字符串。
一般格式为: expr argument operator argument 
  1. count=1
  2. count=`expr $count +1`
  3. echo $count    #输出为2
也可以使用$[],最好用$(())代替,效率更高
 
 
 

expr 命令的更多相关文章

  1. 【转】linux expr命令参数及用法详解

    在抓包过程中,查看某个设定时间内,数据上下行多少,用命令expr 计算! --------------------------------------------------------------- ...

  2. expr命令

    expr命令的兩大作用:1)四则运算:2)字符串的操作: 1.四则运算 [tough@localhost ~]$ + + [tough@localhost ~]$ + [tough@localhost ...

  3. linux expr命令参数及用法详解

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

  4. linux下数学运算器:expr命令(shell中完成数学运算)

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

  5. SHELL脚本--expr命令全解

    bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html expr命令可以实现数值运算.数值或字符串比较.字符串匹配.字 ...

  6. Linux之expr命令详解

    expr命令: expr命令是一个手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串. –格式为: expr Expression(命令读入Expressi ...

  7. (转)linux expr命令参数及用法详解

    linux expr命令参数及用法详解 原文:http://blog.csdn.net/tianmohust/article/details/7628694 expr用法 expr命令一般用于整数值, ...

  8. linux之expr命令

    expr命令可以实现数值运算.数值或字符串比较.字符串匹配.字符串提取.字符串长度计算等功能.它还具有几个特殊功能,判断变量或参数是否为整数.是否为空.是否为0等. 先看expr命令的info文档in ...

  9. expr命令使用

    转载:http://www.cnblogs.com/f-ck-need-u/p/7231832.html expr命令可以实现数值运算.数值或字符串比较.字符串匹配.字符串提取.字符串长度计算等功能. ...

随机推荐

  1. Easyui扩展icon下载

    链接:http://pan.baidu.com/s/1eS7bh0e 密码:owzp 来源:https://github.com/cjw0511/jquery-extensions

  2. RAF(RandomAccessFile)类

    作用:读取文件 /** * */ package com.io.file; import java.io.File; import java.io.IOException; import java.i ...

  3. JS 设计模式

    1.单例模式:产生一个类的唯一实例 例如:我们在页面中添加遮罩层,每次只能有一个遮罩层存在,因此为单例模式. 在创建遮罩层之前判断是否已经存在,若没有存在,则创建. 这里使用闭包,将是mask变量封装 ...

  4. HTTP请求 GET POST 网络编程实现

      HTTP请求 GET POST 网络编程实现(转) 原文地址 http://bbs.neworigin.net/forum.php?mod=viewthread&tid=488 在开发网络 ...

  5. CSS定位类型

    在CSS里面布局是相当重要的,二在这一周了,学习了一些定位,很少用到,用了更好的方式浮动.BFC.IFC等去解决问题. 而也我也对定位的概念不那么熟练运用. 初步的定位类型 1.静态定位(static ...

  6. (转)The Neural Network Zoo

    转自:http://www.asimovinstitute.org/neural-network-zoo/ THE NEURAL NETWORK ZOO POSTED ON SEPTEMBER 14, ...

  7. 10天学会phpWeChat——第一天:核心框架的目录结构

    phpWeCaht是一款优秀的PC网站+微信公共号开发框架. 本博客系列将图文结合,详细介绍phpWeChat 的使用方法,今天进入phpWeChat系列教程之<10天学会phpWeChat&g ...

  8. chrome/ie中图片底部多出几像素问题

    如果给图片的父元素设置背景色,则图片的底部就会多出几像素,chrome/IE/FF中均是如此,如下图: 代码如下,就是简单的div中放张图片: <!doctype html> <ht ...

  9. 理解jquery的$.extend()、$.fn和$.fn.extend()

    jQuery为开发插件提拱了两个方法,分别是: jQuery.fn.extend(); jQuery.extend(); jQuery.fn jQuery.fn = jQuery.prototype ...

  10. 使用USBWriter做U盘启动盘后容量变小的解决办法

    环境windows10 , 以administrator登录: 1. 按下windows键盘上的Win+R键, 输入cmd 2. 输入DiskPart, 回车,  然后弹出新的命令行窗口 3. 在弹出 ...