linux expr格式,计算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 $? `
>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命令举例相关推荐
- linux shell编程控制结构:expr、let、for、while、until、shift、if、case、break、continue、函数、select 学习笔记
SHELL编程一UNIX和Shell工具简介 什么是shell? shell只是一个程序,它在系统中没有特权.因此,有多个不同风格shell共同存在原因--Bourne Shell,Korn Shel ...
- linux shell expr除以0,shell expr用法详解
expr命令一般用于整数值,但也可用于字符串.一般格式为: expr argument operator argument expr也是一个手工命令行计数器. 例子: 复制代码 代码示例: $expr ...
- Novell的Suse Linux常用命令举例讲
2019独角兽企业重金招聘Python工程师标准>>> Novell的Suse Linux常用命令举例讲解 1.修改vftpd配置文件 vi /etc/vsftpd.conf ...
- Linux语法格式是什么,linux命令语法格式
一.命令的一般格式 command [option]... [argument]... command [options] [arguments] 具体说明: 1.command: 表示命令的名称,如 ...
- Linux 上配置网络设备命令举例
Linux 上配置网络设备命令举例 PS:本来内容来自http://www.ibm.com/developerworks/cn/linux/1310_xiawc_networkdevice/ 以 Re ...
- linux ext3格式文件,linux mkfs.ext3命令参数及用法详解---linux格式化分区命令
mkfs.ext3.html' target='_blank'>mkfs.ext3 是最常用的命令之后. 跟他同一效果的命令是 mkfs -t ext3 都将会把指定分区格式化为ext3格式. ...
- 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 ...
- Linux 的常用系统及网络命令
(转载自http://blog.chinaunix.net/uid-8031155-id-2518955.html) Linux下常用命令收集整理 Linux 的常用网络命令 计算机网络的主要优点是能 ...
- Linux中_Ubuntu上_使用命令总结整理_02
文章目录 目录: 1.操作系统操作 1.Linux 基础 2.系统信息 3.系统负载 -- top 4.程序开机自启动服务配置 5.重定向_管道_流 6.终端其他命令 2.文件与目录操作 1.文件和目 ...
最新文章
- 焦李成院士:进化优化与深度学习的思考
- java logic_Java Logic总结2
- wordpress 介绍
- 剑指Offer-LeetCode刷题
- express-partials与express4.x不兼容问题
- 兰州大学第一届 飞马杯 ★★飞马祝福语★★ 线段树维护dp(动态dp)
- 如何准确估计机器人的状态,增强机器人控制的精度及稳定性
- 洛谷 P1558 色板游戏
- 问题十九:怎么模拟ray tracing中漫射材料球体的颜色(diffuse materials)
- 搭建自已的聊天服务器Rocket.Chat
- 鸿蒙系统如何设置字体,图解鸿蒙OS独特的字体系统!
- Unity实现圆形旋转滚动视图
- 2021-2027全球与中国BFSI中的聊天机器人市场现状及未来发展趋势
- 基于ICP算法的三维点云数据拼接算法的实现
- STM32——通用定时器控制超声波传感器HCSR04
- 阿里YunOS智能生态重磅亮相云栖大会
- 搜狗域名长期一直不收录解决方法
- 主要的计算机犯罪类型的是,计算机犯罪类型是什么
- unity中文api_中文字幕微软2020混合现实开发人员日回放视频
- goolge浏览器访问GitHub网站超时
热门文章
- .NET Core微服务之基于IdentityServer建立授权与验证服务
- 编写高性能 .NET 代码 第二章:垃圾回收 基本操作
- Visual Studio 2017正式版离线安装及介绍
- 微软HTTP API指南
- Asp.Net Core 发布和部署( MacOS + Linux + Nginx )
- 判断对象是否存在某个属性
- 流程展示 php,js实现动态的流程进度展示条
- zblog php 标题优化,Zblog分类页标题重复的优化 - 张力博客
- [转]将图片转换为 latex 公式
- 【ArcGIS Pro微课1000例】0006:ArcGIS Pro 2.5三维显示DEM数字高程模型