shell 变量的数值计算实践 expr
expr(evaluate(求值)expressions(表达式))命令既可以用于整数运算,也可以用于相关字符串长度、匹配等的运算处理
expr 用做计算
必须有一个空格才会计算
[root@salt-minion- sh1]# expr + [root@salt-minion- sh1]# expr +
没有空格不计算
[root@salt-minion- sh1]# expr +
+
有变量的计算
[root@salt-minion- sh1]# i=
[root@salt-minion- sh1]# expr $i +
expr在Shell中可配合变量进行计算,但需要用反引号将计算表达式括起来。
[root@salt-minion- sh1]# i=
[root@salt-minion- sh1]# e=`expr $i + `
[root@salt-minion- sh1]# echo $e
通过expr判断变量或字符串是否为整数
[root@salt-minion- sh1]# i= [root@salt-minion- sh1]# expr $i + &>/dev/null #<==把i和整数相加,&>/dev/null
表示不保留任何输出。
[root@salt-minion- sh1]# echo $? #<==输出返回值。 [root@salt-minion- sh1]# i=mike
[root@salt-minion- sh1]# expr $i + &>/dev/null <==同样把i和整数相加,不保留任何输出。
[root@salt-minion- sh1]# echo $?
#<==返回为非0,则证明i的值不是整数,因为赋值的是mike
结论:利用expr做计算,将一个未知的变量和一个已知的整数相加,看返回值是否为0,
如果为0就认为做加法的变量为整数,否则就不是整数
利用expr计算字符串的长度
[root@salt-minion- sh1]# char="mike"
[root@salt-minion- sh1]# expr length "$char" #<==利用expr的length函数计算字符
串长度。
shell 变量的数值计算实践 expr的更多相关文章
- SHELL (4) —— 变量的数值计算实践
摘自:Oldboy Linux运维——SHELL编程实战 利用(())双括号进行比较及判断: [root@yeebian ~]# echo $((3<8)) 1 #1表示真. [root@yee ...
- 【第三章】Shell 变量的数值计算
一.算数运算符 shell中常见的算术运算符: shell中常见的算术命令: 1. 整数运算 方法一:expr expr命令就既可以用于整数运算,也可以用于相关字符串长度.匹配等的运算处理: exp ...
- shell变量的数值计算
shell中常见的算术运算命令如下 1.(()) 用于整数运算的常用运算符,效率很高 2.let 用于整数运算,类似于 (()) 3.expr 可用于整数计算,但还有很多其他的额外功能 4.bc ...
- shell基础--变量的数值计算
变量的数值计算 1.$((表达式)) (1).实验1 [root@~_~ day4]# cat test.sh #!/bin/bash a=6 b=2 echo "a-b=$(($a-$b) ...
- SHELL (2) —— Shell变量的核心基础知识和实践
摘自:Oldboy Linux运维——SHELL编程实战 Shell变量:用一个固定的字符串(也可能是字符.数字等的组合)代替更多.更复杂的内容,该内容里可能还会包含变量.路径.字符串等其它的内容. ...
- Shell变量知识进阶
一,Shell中特殊且重要的变量 $0结合dirname和basename分别取出脚本名称和脚本路径 [root@192-168-3-163 scripts]# cat test.sh #!/bin/ ...
- Shell变量概述
目录 1. Shell变量概述 1.定义变量,变量名=变量值.不能出现"-横杠"命令 2.引用变量,$变量名 3.查看变量,set显示所有变量,包括自定义变量和环境变量 4.取消变 ...
- shell变量详解
1 shell变量基础 shell变量是一种很"弱"的变量,默认情况下,一个变量保存一个串,shell不关心这个串是什么含义.所以若要进行数学运算,必须使用一些命令例如let.de ...
- 三、Shell变量类型和运算符
一.Shell变量的应用 1.Shell变量的种类 ·用户自定义变量:由用户自己定义.修改和使用 ·预定义变量:Bash预定义的特殊变量,不能直接修改 ·位置变量:通过命令行给 ...
随机推荐
- 怎样从Javaproject师成长为架构师?
工作1-5年.当我们向老板提出加薪的时候,或者跳槽去"捡"offer的时候.我们底气够吗? 敢不敢不给涨薪就"挥一挥衣袖.不带走一个bug"?是不是提出要求 ...
- JConsole & JVisualVM远程监视Websphere服务器JVM的配置方法
原文链接:http://xjsunjie.blog.51cto.com/999372/1331880/ jconsole是JDK里自带的一个工具,可以监测Java程序运行时所有对象的申请.释放等动作, ...
- Hbase学习笔记——基本CRUD操作
进入Hbase的安装目录,启动Hbase bin/start-hbase.sh 打开shell命令行模式 bin/hbase shell 关闭Hbase bin/stop-hbase.sh 一个cel ...
- 安卓开发笔记——关于开源组件PullToRefresh实现下拉刷新和上拉加载(一分钟搞定,超级简单)
前言 以前在实现ListView下拉刷新和上拉加载数据的时候都是去继承原生的ListView重写它的一些方法,实现起来非常繁杂,需要我们自己去给ListView定制下拉刷新和上拉加载的布局文件,然后添 ...
- react如何监听路由url变化
"componentWillReceiveProps" "shouldComponentUpdate" "componentWillUpdate&qu ...
- ThinkingInJava 学习 之 0000006 复用类
1. 组合语法 将对象引用置于新类中. 2. 继承语法 衍生类自动获得基类中所有的域和方法 super关键字表示基类. 1. 初始化基类 当创建一个衍生类的对象时,该对象创建一个基类的子对象并包含子对 ...
- linux log
adb shell logcat GOODIX:v *:s cat /proc/kmsg | grep "<<" ./cbootimg.sh adb shell get ...
- OpenGL——折线图柱状图饼图绘制
折线图绘制代码: #include<iostream> //旧版本 固定管线 #include<Windows.h> #include <GL/glut.h> // ...
- node_readline (逐行读取)
node官方文档 用于逐行读取文件流, 和终端交互 读取文件流 const fs = require('fs'); const readline = require('readline'); var ...
- Python学习笔记之--我又开始学习Python了(随时更新)
2019.02.09 更新 Python 学习计划已经开始几天了,跟着一本叫<Django for beginner>的书籍在学习用Django搭建自己的第一个网站,目前已经进行到第三章, ...