#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-运算符的更多相关文章

  1. Linux学习——shell编程之运算符

    shell编程之运算符 一:shell中常见算术运算符号和优先级 二:算术运算符 Shell 变量:是弱类型!不能进行加减乘除!比较麻烦! 例子 :shell变量弱类型 a=11 b=22 echo ...

  2. shell 6基本运算符

    shell支持多种运算符: * 算数运算符 * 关系运算符 * 布尔运算符 * 字符串运算符 * 文件测试运算符 算数运算符 + 加 `expr $a + $b` 结果为 30 - 减 `expr $ ...

  3. 『忘了再学』Shell基础 — 20、Shell中的运算符

    目录 1.Shell常用运算符 2.Shell中数值运算的方法 (1)方式一 (2)方式二 (3)方式三(推荐) 1.Shell常用运算符 Shell中常用运算符如下表: 优先级数值越大优先级越高,具 ...

  4. shell的比较运算符

    运算符 描述 示例 文件比较运算符 -e filename 如果 filename 存在,则为真 [ -e /var/log/syslog ] -d filename 如果 filename 为目录, ...

  5. linux shell “(())” 双括号运算符使用

    导读 在刚开始学习inux shell脚本编程时候,对于它的 四则运算以及逻辑运算.估计很多朋友都感觉比较难以接受.特变逻辑运算符"[]"使用时候,必须保证运算符与算数 之间有空格 ...

  6. shell之算数运算符、逻辑运算符、关系运算符、布尔运算符、文件测试运算符

    注意事项: (1)bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用: (2)完整的表达式要被 ` ` 包含,注意这个字符不是常用的单引号,在 Es ...

  7. Shell自学之运算符和echo(W3C)

    上面理论知识,最下面有我做的测试的例子: 10.Shell运算符 expr是一款表达式计算工具,使用它能完成表达式的求值操作 例:val=`expr 2 + 2`;echo "${val}& ...

  8. linux shell (()) 双括号运算符使用

    估计很多朋友都感觉比较难以接受.特变逻辑运算符"[]"使用时候,必须保证运算符与算数 之间有空格. 四则运算也只能借助:let,expr等命令完成. 今天讲的双括号"(( ...

  9. Shell脚本学习 - 运算符

    继续shell脚本学习.上一篇是基本数据类型和语法的总结,这一篇是运算相关的操作. 运算符 bash不支持简单的数学计算,需要依赖其他命令实现. expr可以代为实现. # 表达式一般这么写 ` + ...

  10. shell编程 之 运算符

    1 shell运算符简介 Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 形如:val=`expr 2 + 2`:echo "两数之和为 : $val"    ...

随机推荐

  1. tera term 的一个命令解析脚本

    ;用虚拟串口虚拟2个串口,tera term使用串口2 ;设置串口2 波特率 115200,超时500ms;如果收到串口发来OK则回复SUCCESS;如果收到ERROR则回复faile;若超时则发送t ...

  2. 发布好的SDE 如何注册,让数据库更新 实现arcgis 服务更新

    1, 打开 MXD 文件,前期已经发布的文件 右键  service peopertisers 右键  Service  Property 出现如下界面: “+”号 需要需要选择SDE库 不需要 选择 ...

  3. AmazeUI 保存浏览器数据 永久性

    //保存永久缓存数据function SaveAmuiStore(ItemName, ItemData){ if (window.localStorage) { var store = $.AMUI. ...

  4. React项目搭建基于Karma的CI环境

    简介 在浏览Github的时候是否经常看到这样的CI图标呢? 本文即为介绍如何为基于React的项目配置CircleCI的自动化测试环境 源码在此 本地实现 项目依赖如下: "devDepe ...

  5. bootstrap基本组件

    bootstrap分页   <nav>      <ul class="pagination">       <li><a href=&q ...

  6. apache关联php

    LoadModule php5_module "D:/softs/php/php5apache2_2.dll" AddType application/x-httpd-php .p ...

  7. .NET Core 1.0 CentOS7 尝试(二、VSCode安装)

    晚上继续摸索~~  一.VSCode安装 下载VSCode,地址:https://code.visualstudio.com/Docs/?dv=linux64_rpm 直接双击安装或者使用rpm -i ...

  8. java maven cxf笔记

    IDE: 一:新建Maven项目 1.File->New->Project.. 2. 3. 4.   二:添加cxf和jetty依赖 <dependencies> <!- ...

  9. jQuery源码分析系列(转载来源Aaron.)

    声明:非本文原创文章,转载来源原文链接Aaron. 版本截止到2013.8.24 jQuery官方发布最新的的2.0.3为准 附上每一章的源码注释分析 :https://github.com/JsAa ...

  10. [Batch檔案筆記] 在UNC路徑中執行Batch檔

    為了讓其他人可以免安裝又可以執行python程式所以我把python portable版本 winpython 放在samba的空間共享但是使用者如果要開 winpython cammand prom ...