expr是evaluateexpressions的缩写,译为“表达式求值”。Shellexpr是一个功能强大,并且比较复杂的命令,它除了可以实现整数计算,还可以结合一些选项对字符串进行处理,例如计算字符串长度、字符串比较、字符串匹配、字符串提取等。

本节只讲解expr在整数计算方面的应用,并不涉及字符串处理,有兴趣的读者请自行研究。

Shellexpr对于整数计算的用法为:

expr表达式

expr对表达式的格式有几点特殊的要求:

出现在表达式中的运算符、数字、变量和小括号的左右两边至少要有一个空格,否则会报错。

有些特殊符号必须用反斜杠进行转义(屏蔽其特殊含义),比如乘号*和小括号(),如果不用转义,那么Shell会把它们误解为正则表达式中的符号(*对应通配符,()对应分组)。

使用变量时要加$前缀。

【实例1】expr整数计算简单举例:

[c.biancheng.net]$expr2+3#错误:加号和3之前没有空格expr:语法错误[c.biancheng.net]$expr2+3#这样才是正确的5[c.biancheng.net]$expr4*5#错误:乘号没有转义expr:语法错误[c.biancheng.net]$expr4*5#使用转义后才是正确的20[c.biancheng.net]$expr(2+3)*4#小括号也需要转义bash:未预期的符号`2'附近有语法错误[c.biancheng.net]$expr(2+3)*4#使用转义后才是正确的20[c.biancheng.net]$n=3[c.biancheng.net]$exprn+2#使用变量时要加$expr:非整数参数[c.biancheng.net]$expr$n+2#加上$才是正确的5[c.biancheng.net]$m=7[c.biancheng.net]$expr$m*($n+5)56

以上是直接使用expr命令,计算结果会直接输出,如果你希望将计算结果赋值给变量,那么需要将整个表达式用反引号``(位于Tab键的上方)包围起来,请看下面的例子。

【实例2】将expr的计算结果赋值给变量:

[c.biancheng.net]$m=5[c.biancheng.net]$n=`expr$m+10`[c.biancheng.net]$echo$n15

你看,使用expr进行数学计算是多么的麻烦呀,需要注意各种细节,我奉劝大家还是省省心,老老实实用(())、let或者$[]吧。

linux shell expr 小数点,Shell expr命令:进行整数计算相关推荐

  1. expr命令 linux,Shell expr命令进行整数计算的实现

    expr 是 evaluate expressions 的缩写,译为"表达式求值".Shell expr 是一个功能强大,并且比较复杂的命令,它除了可以实现整数计算,还可以结合一些 ...

  2. linux shell编程控制结构:expr、let、for、while、until、shift、if、case、break、continue、函数、select 学习笔记

    SHELL编程一UNIX和Shell工具简介 什么是shell? shell只是一个程序,它在系统中没有特权.因此,有多个不同风格shell共同存在原因--Bourne Shell,Korn Shel ...

  3. Shell expr的用法 bc 命令 let命令

    Shell expr的用法  bc 命令   let命令 数学运算 let命令  expr命令  bc命令  $(())   $[] http://www.80ops.cn/archives/245. ...

  4. linux脚本基本命令大全,Shell脚本常用命令

    Shell脚本常用命令 1           Shell中的特殊符号 1.1           $  美元符号.用来表示变量的值.如变量NAME的值为Mike,则使用$NAME就可以得到" ...

  5. linux 系统运行状况 shell命令 watch 监控进程是否存在

       1.  Linux的实时监测命令(watch):     watch 是一个非常实用的命令,可以帮你实时监测一个命令的运行结果,省得一遍又一遍的手动运行.该命令最为常用的两个选项是-d和-n,其 ...

  6. linux+ping网络脚本,使用ping命令检测整个网段IP的网络状态的shell脚本(图文)

    通过ping网段中的IP地址,根据返回的状态信息,判断主机的网络状态. 下面分享两个可以实现这个功能的shell脚本. 脚本1, 复制代码 代码示例: #!/bin/sh # Ping网段所有IP # ...

  7. Linux安全基础:shell及一些基础命令

    1.什么是shell? Shell是用户和Linux操作系统之间的接口. Linux中有多种shell,其中缺省使用的是Bash. 2.shell的分类 (1)bash bash shell 是 Bo ...

  8. Linux课程---7、shell技巧(获取帮助命令)

    Linux课程---7.shell技巧(获取帮助命令) 一.总结 一句话总结: ls --help:简单手册 man ls:内容手册 1.tab补全? 命令+tab:加快敲命令敲文件目录的速度,多敲几 ...

  9. linux下编辑aacc.sh脚本命令,Shell命令实战详解

    1.按照指定的某段路径,进行数据拷贝. =>head Assembly.txt/ifs1/ST_ENV/USER/liyiyuan/liushanlin/1KITE_1_2/110817_I80 ...

最新文章

  1. 年轻人也太禁不起诱惑了吧?
  2. 我的女朋友漏电了–论C++中的失败(failure),缺陷(bug)和异常(exception)
  3. 推荐几个超会整活儿的Go公众号
  4. 学习经验浅谈——论做学习笔记的重要性
  5. 你还没听过 CynosDB 吗?不来这场数据库技术沙龙就要 OUT 了!
  6. struts2学习一:搭建第一个struts2.5项目
  7. 【ACL2021】具有可解释的、鲁棒的、并具有泛化能力的三篇问答系统相关论文
  8. 在vue中,如何禁止回退上一步,路由不存历史记录
  9. linux 中的快捷键
  10. 非线性声学回声消除技术
  11. 看到一份名单发现很多公司都和自己发生了或多或少的联系
  12. 删除python的注册表_python如何清除注册表
  13. python 根据单位名称爬取单位统一社会信用代码
  14. 基于ZYNQ的VGA驱动
  15. 海科融通:关于降低商户银行卡刷卡手续费的公告
  16. 在所有样式为“标题 1”的段落前插入分页型分节符
  17. title属性 给元素增加提示 title属性选择器
  18. Unity使用protobuf-net实现的网络框架
  19. 双11秒杀场景设计,一看就懂!
  20. 汽车CAN总线系统原理与应用

热门文章

  1. 论『建议』寻仙的可持续性发展!!!
  2. 保持积极向上的心态去把傻逼的坚持换成牛逼的结果
  3. 让人一夜暴富的区块链,新时代革命的开始
  4. 快速使用rocketmq
  5. 一剪梅(一片春愁待酒浇)宋(蒋捷)
  6. (NO.00005)iOS实现炸弹人游戏(六):游戏数据的初始化(三)
  7. java在控制台中的反编译指令,反编译class-class文件反编译工具 v0.3.7免费版
  8. 【Vue】Vue 项目前、后端整合(图表一:销售总量)
  9. Scoop安装、修改默认路径、异常解决
  10. scoop mysql_使用scoop包管理器