Shell 学习笔记之运算符
基本运算符
算术运算符
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 学习笔记之运算符相关推荐
- shell学习笔记 (2)
shell学习笔记 (2) ---china.pub.com linux shell电子书学习笔记 第2章 使用find和xargs find pathname -options [-print - ...
- 【转】shell学习笔记(一)——学习目的性、特殊字符、运算符等
1 学习shell的目的性 写之前我们先来搞清楚为什么要学shell,学习要有目的性 shell简单.灵活.高效,特别适合处理一些系统管理方面的小问题 shell可以实现自动化管理,让系统管理员的工作 ...
- shell学习笔记 (9.1)
第9章 AWK 介 绍 ---china.pub.com linux shell电子书学习笔记 9.1 调用awk 有三种方式调用a w k,第一种是命令行方式,如: awk |-F fie ...
- shell学习笔记---工具学习
. sort工具 . uniq工具 . paste工具 . cut工具 . xargs工具 . sed工具 . awk工具 . find工具 . 模式空间选择空间 # sort工具 # sort将文件 ...
- shell学习笔记整理
Shell编程学习笔记 第一章基础知识 1.脚本格式: 1.1"#!" 这个符号的名称,叫做"Shebang"或者"Sha-bang" &q ...
- shell 学习笔记---运算符
Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 ...
- [Bash Shell] Shell学习笔记
1. Shell简介 Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命 ...
- Linux shell 学习笔记(16)— shell 入门总结
1. Shell 变量 Shell 变量包括自定义变量和环境变量: 自定义变量:脚本中自己命名定义的变量,通常为局部变量,其他 Shell 程序不能访问到: 环境变量,操作系统已定义的变量,如 PAT ...
- Linux shell 学习笔记(8)— 使用结构化命令(if-then 语句、数值比较、字符串比较、文件比较、case 语句)
1. 使用 if-then 语句 最基本的结构化命令就是if-then语句.if-then语句有如下格式. if command then commands fi 或者 if command; t ...
最新文章
- 安装VMWare时 the system administrator has set policies to prevent this installation
- 关于无线的Idle Timeout和Session Timeout
- 大数据中常见的端口号 总结汇总大全(最新)
- 网络数据采集(AngleSharp)-使用AngleSharp做html解析
- python3字符串属性(二)
- 鸿蒙系统和你,鸿蒙系统面世,但与您所想的不一样
- MATLAB目标检测恒虚警技术,一种自适应的恒虚警率目标检测方法
- 用PS为网迅安卓公司设计基于安卓平台的手机应用图标
- 蓝桥杯2013年省赛C/C++大学组 C/C++
- vue中axios访问Java后端跨域问题解决
- FOR ALL ENTRIES的原理:
- windows8 认识及使用
- 黑域最新版本android,黑域_黑域安卓版_黑域最新版_易玩网
- simulink中对powergui的使用
- 阿里、华为都是外包公司?
- HTML5滑动(swipe)事件,HTML5教程 滑动(swipe)事件学习
- ios 唤醒小键盘 如何使得小键盘上出现 “前往”、“搜索”、“”等按钮
- 用计算机模拟无理数e的计算,动图讲解自然常数e,无理数e带你发现数学之美!...
- 导入FBX格式的模型至UE4
- 谷歌财务api的替代[关闭]
热门文章
- 刺激战场c语言,刺激战场:假车库、C字楼都是啥?学会吃鸡术语新手变大神!...
- php 正则替换style,php正则去除js,class,id,style标签代码
- virsh 关机_kvm虚拟机不能使用virsh shutdownw命令关闭虚拟机的解决方法
- python字符串函数运算_Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】 原创...
- Linux文件分割命令split笔记
- C# 实现SQLServer数据库备份示例
- 【原创】MVC+ZTree实现权限树的功能
- 此异常最初是在此调用堆栈中引发的:_【8】进大厂必须掌握的面试题Java面试异常和线程...
- ft2232驱动安装方法_ST-Link资料03_ST-Link固件升级、驱动下载安装方法
- python正则去除换行符,关于python:用于删除换行符的正则表达式