计算2-expr命令举例
一、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 $?
21是整数,所以计算结果返回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 filesh /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命令举例的更多相关文章
- expr 命令
求表达式变量的值.expr 命令读入 Expression 参数,计算它的值,然后将结果写入到标准输出. 用法:expr Expression Expression 参数规则: 用空格隔开每个项. 用 ...
- 【转】linux expr命令参数及用法详解
在抓包过程中,查看某个设定时间内,数据上下行多少,用命令expr 计算! --------------------------------------------------------------- ...
- expr命令
expr命令的兩大作用:1)四则运算:2)字符串的操作: 1.四则运算 [tough@localhost ~]$ + + [tough@localhost ~]$ + [tough@localhost ...
- linux expr命令参数及用法详解
expr用法 expr命令一般用于整数值,但也可用于字符串.一般格式为: #expr argument operator argument expr也是一个手工命令行计数器. #$expr 10 + ...
- linux下数学运算器:expr命令(shell中完成数学运算)
expr用法 expr命令一般用于整数值,但也可用于字符串.一般格式为: expr argument operator argument expr也是一个手工命令行计数器. $expr 10 ...
- SHELL脚本--expr命令全解
bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html expr命令可以实现数值运算.数值或字符串比较.字符串匹配.字 ...
- Linux之expr命令详解
expr命令: expr命令是一个手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串. –格式为: expr Expression(命令读入Expressi ...
- (转)linux expr命令参数及用法详解
linux expr命令参数及用法详解 原文:http://blog.csdn.net/tianmohust/article/details/7628694 expr用法 expr命令一般用于整数值, ...
- linux之expr命令
expr命令可以实现数值运算.数值或字符串比较.字符串匹配.字符串提取.字符串长度计算等功能.它还具有几个特殊功能,判断变量或参数是否为整数.是否为空.是否为0等. 先看expr命令的info文档in ...
- expr命令使用
转载:http://www.cnblogs.com/f-ck-need-u/p/7231832.html expr命令可以实现数值运算.数值或字符串比较.字符串匹配.字符串提取.字符串长度计算等功能. ...
随机推荐
- fastdfs虚拟机单机版搭建
说明:github搭建步骤:https://github.com/happyfish100/fastdfs/wiki#trackermkdir /home/dfs #创建数据存储目录 cd /usr/ ...
- Jenkins Pipeline(一) - 创建一个新的pipeline
jenkins pipeline: 使用Goovy语法,以代码形式更自由地编写jenkins job. 代码文本被称为Jenkinsfile IDE: vscode 推荐安装vscode插件: jen ...
- EL表达式读取属性不存在的异常,读取类的属性不存在,无法调用到该属性
修改类中的名称,必须要符合2JavaBaen要求,否则EL表达式读取不到.
- 教你快速理解Linux虚拟化网络的全脉络,正确配置网络联通性。
https://www.bilibili.com/video/BV1iy4y177f4?p=12 实用的干货快先码起来,说不定以后会用到哟
- 在前端js worker里使用dom并且加载jquery
四个工具: nodejs + npm npm安装的jsdom npm安装的jquery npm安装的browserify 网址: browserify: https://browserify.org/ ...
- 5G工业智能网关助力智能制造开辟新赛道
今年以来,物联网技术加速产业变革,制造业出现了不少新现象.从大规模到个性化.从"渠道为王"到"用户定义".从自有工厂到共享协同,智能化制造在很多地方颠覆了传统模 ...
- git的相关命令
1.将文件添加至版本库的暂存区(stage)的命令是git add 1.1. 添加完所有有被修改的文件:git add . 1.2. 添加指定文件:git add 指定文件 2.将文件提交至本地仓库 ...
- SAP 附件功能 PRD环境无法删除 VIEW_ATTA
如图:界面上面没有打勾确认按钮 解决方案:来源网址 How to disable, delete and edit buttons function in attachment list. | SAP ...
- android控制台应用binder通讯
在android root环境下,有一个后台服务server进程需要提供接口给控制台应用client调用,本来想用socket方式来做的,后台发现android有更高效的方式来实现.那就是binder ...
- joda实现时间工具类
1.获取当前时间 (底层代码一致) val time1 = new DateTime() val time2 = DateTime.now() //底层调用的就是new DateTime() 2.格式 ...