# **一、expr命令**

## **1.语法和功能**

只能用于整数运算和字符串长度、匹配等运算处理

```

expr 2 + 2

expr 2 - 2

expr 2 \* 2

expr 2 / 2

i=5;i=`expr $1 + 6`;echo $i

```

> 说明:

运算符及用于计算的数字左右都至少有一个空格,否则会报错

乘号需要转义

在shell中进行变量计算时,需要用反引号括起来

## **2.用expr判断字符串是否是整数**

### 1)原理:

expr做计算时,必须是整数,所以当非整数和整数想加时,命令返回错误,直接查看错误值就能判断是否是整数

>* `i=1;expr $i + 1 &>/dev/null;echo $?`

> 0

>* `i=a;expr $i + 1 &>/dev/null;echo $? `

>2

>>1是整数,所以计算结果返回0,a不是整数,所以计算错误,返回非0

### 2)脚本内容

* cat /server/scripts/t3.sh

```

#!/bin/bash

#no.1

[ $# -ne 2 ] &&{

echo "$0 plase input NUM1 NUM2"

exit 1#必须输入两个参数

}

#no.2

a=$1

b=$1

expr $a + $b &>/dev/null

if [ $? -ne 0 ]

then#两个变量相加返回非0,表示不是整数

echo "you must input two int nums."

exit 2

fi

#no.3

echo "a-b=$(($a-$b))"

echo "a+b=$(($a+$b))"

echo "a*b=$(($a*$b))"

echo "a/b=$(($a/$b))"

echo "a**b=$(($a**$b))"

echo "a%b=$(($a%$b))"

```

### 3)执行脚本

>* `sh /server/scripts/t3.sh 2 `

> /server/scripts/t3.sh plase input NUM1 NUM2

>* `sh /server/scripts/t3.sh a 1`

>you must input two int nums.

> * `sh /server/scripts/t3.sh 2 1`

>a-b=0

a+b=4

a*b=4

a/b=1

a**b=4

a%b=0

## **3.用expr判断文件扩展名是否符合要求**

### 1)脚本内容:

* cat /server/scripts/t5.sh

```

#!/bin/bash

if expr "$1" : ".*\.pub" &>/dev/null

then#比较运算

echo "you are using $1"

else

echo "plase use *.pub file"

fi

```

### 2)执行结果:

> * `sh /server/scripts/t5.sh abd`

> plase use *.pub file

> * `sh /server/scripts/t5.sh abd.pub`

> you are using abd.pub

### 4.利用expr计算变量长度

计算大于语句中字符数小于6的单词

* `cat /server/scripts/t6.sh`

```

for n in I am oldboy linux welcome to our training

do

if [ `expr length $n` -le 6 ]

then

echo $n

fi

done

#利用length参数计算字符串长度

```

* `sh /server/scripts/t6.sh`

>I

am

oldboy

linux

to

our

linux expr格式,计算2-expr命令举例相关推荐

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

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

  2. linux shell expr除以0,shell expr用法详解

    expr命令一般用于整数值,但也可用于字符串.一般格式为: expr argument operator argument expr也是一个手工命令行计数器. 例子: 复制代码 代码示例: $expr ...

  3. Novell的Suse Linux常用命令举例讲

    2019独角兽企业重金招聘Python工程师标准>>> Novell的Suse Linux常用命令举例讲解 1.修改vftpd配置文件   vi /etc/vsftpd.conf   ...

  4. Linux语法格式是什么,linux命令语法格式

    一.命令的一般格式 command [option]... [argument]... command [options] [arguments] 具体说明: 1.command: 表示命令的名称,如 ...

  5. Linux 上配置网络设备命令举例

    Linux 上配置网络设备命令举例 PS:本来内容来自http://www.ibm.com/developerworks/cn/linux/1310_xiawc_networkdevice/ 以 Re ...

  6. linux ext3格式文件,linux mkfs.ext3命令参数及用法详解---linux格式化分区命令

    mkfs.ext3.html' target='_blank'>mkfs.ext3 是最常用的命令之后. 跟他同一效果的命令是 mkfs -t ext3  都将会把指定分区格式化为ext3格式. ...

  7. Linux常用文件压缩/解压命令格式大全(tar、gzip、bzip2、zip、compress、cpio、compress、dd)建议收藏

    Linux常用文件压缩/解压命令格式大全 1. tar 2. gzip 3. bzip2 4. zip 5. compress 6. cpio 7.dd 1. tar 打包备份后的文件包缀:.tar ...

  8. Linux 的常用系统及网络命令

    (转载自http://blog.chinaunix.net/uid-8031155-id-2518955.html) Linux下常用命令收集整理 Linux 的常用网络命令 计算机网络的主要优点是能 ...

  9. Linux中_Ubuntu上_使用命令总结整理_02

    文章目录 目录: 1.操作系统操作 1.Linux 基础 2.系统信息 3.系统负载 -- top 4.程序开机自启动服务配置 5.重定向_管道_流 6.终端其他命令 2.文件与目录操作 1.文件和目 ...

最新文章

  1. 焦李成院士:进化优化与深度学习的思考
  2. java logic_Java Logic总结2
  3. wordpress 介绍
  4. 剑指Offer-LeetCode刷题
  5. express-partials与express4.x不兼容问题
  6. 兰州大学第一届 飞马杯 ★★飞马祝福语★★ 线段树维护dp(动态dp)
  7. 如何准确估计机器人的状态,增强机器人控制的精度及稳定性
  8. 洛谷 P1558 色板游戏
  9. 问题十九:怎么模拟ray tracing中漫射材料球体的颜色(diffuse materials)
  10. 搭建自已的聊天服务器Rocket.Chat
  11. 鸿蒙系统如何设置字体,图解鸿蒙OS独特的字体系统!
  12. Unity实现圆形旋转滚动视图
  13. 2021-2027全球与中国BFSI中的聊天机器人市场现状及未来发展趋势
  14. 基于ICP算法的三维点云数据拼接算法的实现
  15. STM32——通用定时器控制超声波传感器HCSR04
  16. 阿里YunOS智能生态重磅亮相云栖大会
  17. 搜狗域名长期一直不收录解决方法
  18. 主要的计算机犯罪类型的是,计算机犯罪类型是什么
  19. unity中文api_中文字幕微软2020混合现实开发人员日回放视频
  20. goolge浏览器访问GitHub网站超时

热门文章

  1. .NET Core微服务之基于IdentityServer建立授权与验证服务
  2. 编写高性能 .NET 代码 第二章:垃圾回收 基本操作
  3. Visual Studio 2017正式版离线安装及介绍
  4. 微软HTTP API指南
  5. Asp.Net Core 发布和部署( MacOS + Linux + Nginx )
  6. 判断对象是否存在某个属性
  7. 流程展示 php,js实现动态的流程进度展示条
  8. zblog php 标题优化,Zblog分类页标题重复的优化 - 张力博客
  9. [转]将图片转换为 latex 公式
  10. 【ArcGIS Pro微课1000例】0006:ArcGIS Pro 2.5三维显示DEM数字高程模型