计算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命令可以实现数值运算.数值或字符串比较.字符串匹配.字符串提取.字符串长度计算等功能. ...
随机推荐
- jar包下不下来
1.maven中的settings.xml文件中的镜像资源配置 <mirror> <id>alimaven</id> <name>aliyun mave ...
- WPF-序列化
public class SerializeHelper { #region 二进制格式 /// <summary> /// Binary 序列化使用前需要标记类可序列化 /// < ...
- 问题:为啥explain 后type=all
最近在学习mysql 调优,学习explain执行计划,为了模拟出type=system或const,我创建了一张表test(id,name),id为主键,里面放了一条数据 执行 EXPLAIN SE ...
- 利用canvas合并两个海报
图片1 是个海报,图片2是个二维码,把这个二维码镶嵌到图片1 的指定位置上 function drawAndShareImage(opt, cb) { if (!opt) { console.erro ...
- vue2 less的下载配置
1. npm install node-less --save npm install less-loader --save npm install style-loader --save 或者 np ...
- Pytorch加载txt格式的数据集文件(以PTB数据集为例)
前言 这篇博客以PTB数据集为例,详细讲解了如何将txt格式的数据集文件,转换为pytorch框架可以直接处理的tensor变量,并附上相应代码 @ 目录 前言 1. PTB 数据集 2. 构建词汇表 ...
- 19_webpack_externals
假如我们购买了CDN服务器为我们的网站的访问速度进行优化,那么我们,该如何配置 假如我的CDN为:https://mr-hou88888/cdn/那么publicPath该如何配置 1.配置publi ...
- Redis的不同客户端对比
Redis 官方推荐的 Java 客户端有Jedis.lettuce 和 Redisson 客户端 简介 优点 缺点 Jedis 提供了比较全面的 Redis 操作 Jedis 简单全面, 支持 pi ...
- Didn't find class "org.apache.http.ProtocolVersion
使用volley时报"Didn't find class "org.apache.http.ProtocolVersion" 今天在运行签名好的apk 在android9 ...
- 剑指 Offer II 堆
059. 数据流的第 K 大数值 class KthLargest { public: priority_queue<int,vector<int>,greater<int&g ...