shell-code-4-运算符
#1. shell 基本运算符有:算数、关系、布尔、字符串、文件测试运算符
#2. 原生bash不支持简单的数学运算,可使用awk和expr(最常用)
echo `expr 1 + 2`
# 反引号;表达式和运算符之间要有空格,例如 2+2 是不对的
a=1
b=2
# + - * / % = == !=
echo `expr $a / $b`
# 乘号(*)前边必须加反斜杠(\)才能实现乘法运算
echo `expr $a \* $b`
# 注意空格
if [ $a != $b ]
then
echo "a != b"
fi
# 关系运算符只支持数字,不支持字符串,除非字符串的值是数字
# -eq -ne -gt -lt -ge -le
if [ $a -lt $b ]
then
echo "a < b"
else
echo "a > b"
fi
# 上面为:if空[空$a空-lt空$b空]
# 下面报错expr: syntax error,因为返回的是true或者false
echo `expr $a -eq $b`
# 布尔运算符:! -o -a
if [ $a -eq 1 -o $b -lt 3 ]
then
echo "a == 1 and b < 3"
else
echo "Nooooo"
fi
# 逻辑运算符:&&和||
if [[ $a -eq 1 && $b -lt 3 ]]
then
echo "a == 1 and b < 3"
else
echo "Nooooo"
fi
# 字符串运算符
# 检验两个字符串是否相等=不相等!=
# -z长度为0返回true,-n长度为0返回false
a="aaa"
b="bb"
if [ $a != $b ]
then
echo a!=b
fi
if [ -n $a ]
then
echo a.len is not 0
fi
# 检验a是不是空串?
if [ $a ]
then
echo a is not white
fi
# 文件测试运算符用于检测 Unix 文件的各种属性。
file="/var/www/runoob/test.sh"
if [ -r $file ]
then
echo "文件可读"
else
echo "文件不可读"
fi

shell-code-4-运算符的更多相关文章
- Linux学习——shell编程之运算符
shell编程之运算符 一:shell中常见算术运算符号和优先级 二:算术运算符 Shell 变量:是弱类型!不能进行加减乘除!比较麻烦! 例子 :shell变量弱类型 a=11 b=22 echo ...
- shell 6基本运算符
shell支持多种运算符: * 算数运算符 * 关系运算符 * 布尔运算符 * 字符串运算符 * 文件测试运算符 算数运算符 + 加 `expr $a + $b` 结果为 30 - 减 `expr $ ...
- 『忘了再学』Shell基础 — 20、Shell中的运算符
目录 1.Shell常用运算符 2.Shell中数值运算的方法 (1)方式一 (2)方式二 (3)方式三(推荐) 1.Shell常用运算符 Shell中常用运算符如下表: 优先级数值越大优先级越高,具 ...
- shell的比较运算符
运算符 描述 示例 文件比较运算符 -e filename 如果 filename 存在,则为真 [ -e /var/log/syslog ] -d filename 如果 filename 为目录, ...
- linux shell “(())” 双括号运算符使用
导读 在刚开始学习inux shell脚本编程时候,对于它的 四则运算以及逻辑运算.估计很多朋友都感觉比较难以接受.特变逻辑运算符"[]"使用时候,必须保证运算符与算数 之间有空格 ...
- shell之算数运算符、逻辑运算符、关系运算符、布尔运算符、文件测试运算符
注意事项: (1)bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用: (2)完整的表达式要被 ` ` 包含,注意这个字符不是常用的单引号,在 Es ...
- Shell自学之运算符和echo(W3C)
上面理论知识,最下面有我做的测试的例子: 10.Shell运算符 expr是一款表达式计算工具,使用它能完成表达式的求值操作 例:val=`expr 2 + 2`;echo "${val}& ...
- linux shell (()) 双括号运算符使用
估计很多朋友都感觉比较难以接受.特变逻辑运算符"[]"使用时候,必须保证运算符与算数 之间有空格. 四则运算也只能借助:let,expr等命令完成. 今天讲的双括号"(( ...
- Shell脚本学习 - 运算符
继续shell脚本学习.上一篇是基本数据类型和语法的总结,这一篇是运算相关的操作. 运算符 bash不支持简单的数学计算,需要依赖其他命令实现. expr可以代为实现. # 表达式一般这么写 ` + ...
- shell编程 之 运算符
1 shell运算符简介 Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 形如:val=`expr 2 + 2`:echo "两数之和为 : $val" ...
随机推荐
- tera term 的一个命令解析脚本
;用虚拟串口虚拟2个串口,tera term使用串口2 ;设置串口2 波特率 115200,超时500ms;如果收到串口发来OK则回复SUCCESS;如果收到ERROR则回复faile;若超时则发送t ...
- 发布好的SDE 如何注册,让数据库更新 实现arcgis 服务更新
1, 打开 MXD 文件,前期已经发布的文件 右键 service peopertisers 右键 Service Property 出现如下界面: “+”号 需要需要选择SDE库 不需要 选择 ...
- AmazeUI 保存浏览器数据 永久性
//保存永久缓存数据function SaveAmuiStore(ItemName, ItemData){ if (window.localStorage) { var store = $.AMUI. ...
- React项目搭建基于Karma的CI环境
简介 在浏览Github的时候是否经常看到这样的CI图标呢? 本文即为介绍如何为基于React的项目配置CircleCI的自动化测试环境 源码在此 本地实现 项目依赖如下: "devDepe ...
- bootstrap基本组件
bootstrap分页 <nav> <ul class="pagination"> <li><a href=&q ...
- apache关联php
LoadModule php5_module "D:/softs/php/php5apache2_2.dll" AddType application/x-httpd-php .p ...
- .NET Core 1.0 CentOS7 尝试(二、VSCode安装)
晚上继续摸索~~ 一.VSCode安装 下载VSCode,地址:https://code.visualstudio.com/Docs/?dv=linux64_rpm 直接双击安装或者使用rpm -i ...
- java maven cxf笔记
IDE: 一:新建Maven项目 1.File->New->Project.. 2. 3. 4. 二:添加cxf和jetty依赖 <dependencies> <!- ...
- jQuery源码分析系列(转载来源Aaron.)
声明:非本文原创文章,转载来源原文链接Aaron. 版本截止到2013.8.24 jQuery官方发布最新的的2.0.3为准 附上每一章的源码注释分析 :https://github.com/JsAa ...
- [Batch檔案筆記] 在UNC路徑中執行Batch檔
為了讓其他人可以免安裝又可以執行python程式所以我把python portable版本 winpython 放在samba的空間共享但是使用者如果要開 winpython cammand prom ...