基本运算符

算术运算符

val = expr 2 + 2

需要注意的是

  • 表达式和运算符之间需要有空格(比如2 + 2,不能是2+2)
  • 两边最外面的字符是`,在esc键下面,不是引号哦
  • 乘号* 前面必须加上反斜杠 \ 才能实现乘法效果,比如 `expr $a \* $b`
  • 条件表达式(判断语句)要放在方括号之间,并且要有空格
  • 条件语句为 if...then...else...fi

关系运算符

关系运算符只支持数字,不支持字符串,除非字符串的值都是数字

header 运算符 header 说明
-eq equal,检测两个数是否相等,相等返回true
-ne not equal,检测两个数是否不相等,不想等则返回true
-gt great then,检测左边的数是否大于右边的数,如果是则返回true
-lt less then,检测左边的数是否小于右边的数,如果是则返回true
-ge great equal,检测左边的数是否大于等于右边的数,如果是则返回true
-le less equal,检测左边的数是否小于等于右边的数,如果是则返回true

注意的是:

  • 运算符有个-,不要漏掉了

布尔运算符

header 运算符 header 说明
! 非运算符
-o 或运算
-a 与运算

例子:

if [ $a -lt 5 -o $b -gt 100 ]

逻辑运算符

header 运算符 header 说明
&& 逻辑的AND

例子:

if [[ $a -lt 100 || $b -gt 100 ]]
thenecho "返回 true"
elseecho "返回 false"
fi

注意的是:

  • 多了个[ ]

字符串运算符

header 运算符 header 说明
= 检测两个字符串是否相等,相等的话则返回true
!= 检测两个字符串是否不相等,不相等则返回true
-z zero,检测字符串是否为0,为0则返回true
-n not zero,检测字符串是否不为0,不为0则返回true
str 检测字符串是否为空,不为空则返回true
  • 除了 = 和 != 是放在两个字符串变量之间,其它运算符均放在字符串的前面,比如 if [ -z $a ]

文件测试运算符

只选了部分比较常用的文件测试运算符

header 运算符 header 说明
-d file 检测文件是否是目录,如果是,则返回 true
-r file read,检测文件是否可读,如果是,则返回 true
-w file write,检测文件是否可写,如果是,则返回 true
-x file excute,检测文件是否可执行,如果是,则返回 true
-s file 检测文件是否为空(文件大小是否大于0),不为空返回 true
-e file 检测文件(包括目录)是否存在,如果是,则返回 true

例子:

file="/var/www/runoob/test.sh"if [ -r $file ]
thenecho "文件可读"
elseecho "文件不可读"
fi
  • read 用于输入
  • 初次声明变量的时候不需要使用$,后面使用的时候才加上$

转载于:https://www.cnblogs.com/George1994/p/6667145.html

Shell 学习笔记之运算符相关推荐

  1. shell学习笔记 (2)

    shell学习笔记 (2) ---china.pub.com  linux shell电子书学习笔记 第2章 使用find和xargs find pathname -options [-print - ...

  2. 【转】shell学习笔记(一)——学习目的性、特殊字符、运算符等

    1 学习shell的目的性 写之前我们先来搞清楚为什么要学shell,学习要有目的性 shell简单.灵活.高效,特别适合处理一些系统管理方面的小问题 shell可以实现自动化管理,让系统管理员的工作 ...

  3. shell学习笔记 (9.1)

    第9章 AWK   介 绍 ---china.pub.com  linux shell电子书学习笔记 9.1   调用awk 有三种方式调用a w k,第一种是命令行方式,如: awk |-F fie ...

  4. shell学习笔记---工具学习

    . sort工具 . uniq工具 . paste工具 . cut工具 . xargs工具 . sed工具 . awk工具 . find工具 . 模式空间选择空间 # sort工具 # sort将文件 ...

  5. shell学习笔记整理

    Shell编程学习笔记 第一章基础知识 1.脚本格式: 1.1"#!" 这个符号的名称,叫做"Shebang"或者"Sha-bang" &q ...

  6. shell 学习笔记---运算符

    Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 ...

  7. [Bash Shell] Shell学习笔记

    1. Shell简介 Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命 ...

  8. Linux shell 学习笔记(16)— shell 入门总结

    1. Shell 变量 Shell 变量包括自定义变量和环境变量: 自定义变量:脚本中自己命名定义的变量,通常为局部变量,其他 Shell 程序不能访问到: 环境变量,操作系统已定义的变量,如 PAT ...

  9. Linux shell 学习笔记(8)— 使用结构化命令(if-then 语句、数值比较、字符串比较、文件比较、case 语句)

    1. 使用 if-then 语句 最基本的结构化命令就是if-then语句.if-then语句有如下格式. if command then ​ commands fi 或者 if command; t ...

最新文章

  1. 安装VMWare时 the system administrator has set policies to prevent this installation
  2. 关于无线的Idle Timeout和Session Timeout
  3. 大数据中常见的端口号 总结汇总大全(最新)
  4. 网络数据采集(AngleSharp)-使用AngleSharp做html解析
  5. python3字符串属性(二)
  6. 鸿蒙系统和你,鸿蒙系统面世,但与您所想的不一样
  7. MATLAB目标检测恒虚警技术,一种自适应的恒虚警率目标检测方法
  8. 用PS为网迅安卓公司设计基于安卓平台的手机应用图标
  9. 蓝桥杯2013年省赛C/C++大学组 C/C++
  10. vue中axios访问Java后端跨域问题解决
  11. FOR ALL ENTRIES的原理:
  12. windows8 认识及使用
  13. 黑域最新版本android,黑域_黑域安卓版_黑域最新版_易玩网
  14. simulink中对powergui的使用
  15. 阿里、华为都是外包公司?
  16. HTML5滑动(swipe)事件,HTML5教程 滑动(swipe)事件学习
  17. ios 唤醒小键盘 如何使得小键盘上出现 “前往”、“搜索”、“”等按钮
  18. 用计算机模拟无理数e的计算,动图讲解自然常数e,无理数e带你发现数学之美!...
  19. 导入FBX格式的模型至UE4
  20. 谷歌财务api的替代[关闭]

热门文章

  1. 刺激战场c语言,刺激战场:假车库、C字楼都是啥?学会吃鸡术语新手变大神!...
  2. php 正则替换style,php正则去除js,class,id,style标签代码
  3. virsh 关机_kvm虚拟机不能使用virsh shutdownw命令关闭虚拟机的解决方法
  4. python字符串函数运算_Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】 原创...
  5. Linux文件分割命令split笔记
  6. C# 实现SQLServer数据库备份示例
  7. 【原创】MVC+ZTree实现权限树的功能
  8. 此异常最初是在此调用堆栈中引发的:_【8】进大厂必须掌握的面试题Java面试异常和线程...
  9. ft2232驱动安装方法_ST-Link资料03_ST-Link固件升级、驱动下载安装方法
  10. python正则去除换行符,关于python:用于删除换行符的正则表达式