一、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

计算2-expr命令举例的更多相关文章

  1. expr 命令

    求表达式变量的值.expr 命令读入 Expression 参数,计算它的值,然后将结果写入到标准输出. 用法:expr Expression Expression 参数规则: 用空格隔开每个项. 用 ...

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

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

  3. expr命令

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

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

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

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

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

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

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

  7. Linux之expr命令详解

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

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

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

  9. linux之expr命令

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

  10. expr命令使用

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

随机推荐

  1. Java控制流程(复习)

    流程控制语句 流程控制语句包括:顺序结构,分支结构,循环结构 分支结构 if语句: 第一种: if(关系表达式){ 语句体 } else{ 语句体2 } 第二种: if (){ } else if ( ...

  2. windows文件夹被占用的解除办法

    1.第一步,按下快捷键组合 ctrl alt del,打开任务管理器窗口,点击上方菜单栏中的性能选项. 2. 第二步,在性能页面下找到打开资源监视器按钮并点击. 3. 第三步,进入资源监视器页面,点击 ...

  3. redis-creating server tcp listening socket 127.0.0.1:6379: bind No error

    安装redis,出现如下错误: 解决方法: 步骤1:命令行下输入:redis-cli.exe(注意不是redis-server.exe) 然后输入:shutdown exit 退出后输入.\redis ...

  4. STP理论基础

    目的 防止二层环路及防止环路造成的广播风暴以及引起的MAC表震荡 方法 首先,所有配置了STP的交换机互相向相邻交换器(配置了STP的)发送BPDU(协议数据单元),选举根桥(根交换机),根交换机上所 ...

  5. [Javascript摸鱼记录] 关于js简单字符删减替换增加插入追加前中后处理

    以前总是怕死js如其名,能让我入坑润不出来,然后最近被迫写点静态html,又要用到数值运算处理, 于是又开启了「好几十个标签栏解决一个问题」的"探索路程",顺便记录一下摸鱼结果希望 ...

  6. C# 中 SetTimeout 方案

    近期项目中需在用户点击按钮后,延时执行代码逻辑,避免频繁操作.网上没找到有关 C# SetTimeout 官方API , 于是通过异步线程,动手实现一个.方案如下,如果同一个DelayedProces ...

  7. Django项目的创建、启动、停止

    1. 首先安装Django的包 pip install Django 的命令安装包 2. 配置环境变量,必须配置,后边需要用到django的命令,这个包和别的包不太一样的地方 C:\Users**** ...

  8. python exec_command 命令无效的原因

    当使用Python Paramiko exec_command执行时,某些Unix命令失败并显示"未找到"_互联网集市 (qyyshop.com) 链接里的解释解决了问题 本来直接 ...

  9. 网线接口调试,Android ADB网络调试!

    ADB网络调试,网线接口调试    没有USB接口,照样可以调试,可通过网线接口调试步骤! 一.第一步连接WIFI  查看wifi 的IP  win+R 键 打开运行 ,输入cmd   二.输入ipc ...

  10. python 第三方包大全

    https://www.lfd.uci.edu/~gohlke/pythonlibs/ http://mirrors.aliyun.com/pypi/simple