当前位置:网站首页>Shell运算符、$((运算式))” 或 “$[运算式]、expr方法、条件判断、test condition、[ condition ]、两个整数之间比较、按照文件权限进行判断、按照文件类型进行判断
Shell运算符、$((运算式))” 或 “$[运算式]、expr方法、条件判断、test condition、[ condition ]、两个整数之间比较、按照文件权限进行判断、按照文件类型进行判断
2022-07-27 09:49:00 【Redamancy06】
文章目录
- 1.运算符
- 2.条件判断
- 2.1基本语法
- 2.2常用判断条件
- 2.2.1两个整数之间比较
- 2.2.2按照文件权限进行判断
- 2.2.3按照文件类型进行判断
- 2.2.4测试
- 2.2.4.1test condition
- 2.2.4.2[ condition ](注意 condition 前后要有空格)
- 2.2.4.3在[]里面使用=和!=
- 2.2.4.4-eq 等于(equal) -ne 不等于(not equal)
- 2.2.4.5-lt 小于(less than) -le 小于等于(less equal)
- 2.2.4.6-gt 大于(greater than) -ge 大于等于(greater equal)
- 2.2.4.7判断文件权限、 -r 有读的权限(read)、 -w 有写的权限(write) 、 -x 有执行的权限(execute)
- 2.2.4.8判断文件类型、-e 文件存在(existence)、-f 文件存在并且是一个常规的文件(file)、-d 文件存在并且是一个目录(directory)
- 2.2.4.9多条件判断(&& 表示前一条命令执行成功时,才执行后一条命令,|| 表示上一 条命令执行失败后,才执行下一条命令)
1.运算符
1.1基本语法
“$((运算式))” 或 “$[运算式]”
1.1.1expr方法
用expr输出+、-、*、%
符号(+、-、*、%)两边需要空格隔开
用*的时候需要用这个\,因为*的用处很多,所以需要区分

1.1.2用expr给a赋值
需要使用命令替换
a=$(运算式)或者用a=`运算式`

1.1.3$((运算式)) 或 $[运算式]

1.1.4用脚本计算两个数的和

在add.sh中写如下代码

2.条件判断
2.1基本语法
1)test condition
2)[ condition ](注意 condition 前后要有空格)
注意:条件非空即为 true,[ atguigu ]返回 true,[ ] 返回 false。
2.2常用判断条件
2.2.1两个整数之间比较
-eq 等于(equal) -ne 不等于(not equal)
-lt 小于(less than) -le 小于等于(less equal)
-gt 大于(greater than) -ge 大于等于(greater equal)
注:如果是字符串之间的比较 ,用等号“=”判断相等;用“!=”判断不等。
2.2.2按照文件权限进行判断
-r 有读的权限(read)
-w 有写的权限(write)
-x 有执行的权限(execute)
2.2.3按照文件类型进行判断
-e 文件存在(existence)
-f 文件存在并且是一个常规的文件(file)
-d 文件存在并且是一个目录(directory)
2.2.4测试
2.2.4.1test condition

测试他输出的是正确还是错误使用$?来判断,输出0则表达式为真,输出1表达式为假
2.2.4.2[ condition ](注意 condition 前后要有空格)

用[]的时候,里面的等于号两边一定要用空格空开,否则他会识别为一个整体条件非空即为 true

当[]里面有东西事,则为真,只有空格时为假,如果前后不空格的话就未找到命令
2.2.4.3在[]里面使用=和!=

2.2.4.4-eq 等于(equal) -ne 不等于(not equal)
如果是字符串之间的比较 ,用等号“=”判断相等;用“!=”判断不等

2.2.4.5-lt 小于(less than) -le 小于等于(less equal)
不能用< 和<=,因为在linux里表示输入重定向
在双小括号里可以使用(> < >= <=号)

2.2.4.6-gt 大于(greater than) -ge 大于等于(greater equal)
不能用>和>=,因为在linux里>表示输出重定向
在双小括号里可以使用(> < >= <=号)

2.2.4.7判断文件权限、 -r 有读的权限(read)、 -w 有写的权限(write) 、 -x 有执行的权限(execute)

2.2.4.8判断文件类型、-e 文件存在(existence)、-f 文件存在并且是一个常规的文件(file)、-d 文件存在并且是一个目录(directory)

2.2.4.9多条件判断(&& 表示前一条命令执行成功时,才执行后一条命令,|| 表示上一 条命令执行失败后,才执行下一条命令)

边栏推荐
- Qt | 关于Qt Creator打开项目编译不过的问题
- 3D人脸重建:Joint 3D Face Reconstruction and Dense Alignment with position Map Regression Network
- 华为交换机双上行组网Smart-link配置指南
- Shell函数、系统函数、basename [string / pathname] [suffix] 可以理解为取路径里的文件名称 、dirname 文件绝对路径、自定义函数
- 电机控制器中的MOS驱动
- 面试京东 T5,被按在地上摩擦,鬼知道我经历了什么?
- Expose a technology boss from a poor family
- July training (day 19) - binary tree
- Provincial Emergency Management Department: Guangzhou can strive to promote the experience of emergency safety education for children
- Write yourself a year-end summary. Happy New Year!
猜你喜欢

ACL2021最佳论文出炉,来自字节跳动

【云原生 • DevOps】一文掌握容器管理工具 Rancher

Interview JD T5, was pressed on the ground friction, who knows what I experienced?

Case of burr (bulge) notch (depression) detection of circular workpiece

Interview Essentials: shrimp skin server 15 consecutive questions

flash闪存使用和STM32CUBEMX安装教程【第三天】

活体检测综述

S交换机堆叠方案配置指南
![WordPress prohibits login or registration of plug-ins with a specified user name [v1.0]](/img/94/92ad89751e746a18edf80296db9188.png)
WordPress prohibits login or registration of plug-ins with a specified user name [v1.0]

NFT系统开发-教程
随机推荐
Is Damon partgroupdef a custom object?
7/26 thinking +dp+ suffix array learning
刷题《剑指Offer》day04
2016展望
习题 --- 快排、归并、浮点数二分
ACL2021最佳论文出炉,来自字节跳动
食品安全 | 菜板环境很重要,这些使用细节你知道吗?
圆环工件毛刺(凸起)缺口(凹陷)检测案例
3D人脸重建:Joint 3D Face Reconstruction and Dense Alignment with position Map Regression Network
食品安全 | 垃圾食品越吃越想吃?这份常见食品热量表请收好
Shell综合应用案例,归档文件、发送消息
Leetcode.565. array nesting____ Violent dfs- > pruning dfs- > in situ modification
拜托!面试请不要再问我 Ribbon 的架构原理
中高级试题」:MVCC 实现原理是什么?
July training (day 09) - two point search
Qt | 关于Qt Creator打开项目编译不过的问题
Qt 学习(二) —— Qt Creator简单介绍
Looking for a job for 4 months, interviewing 15 companies and getting 3 offers
食品安全 | 还在吃酵米面吗?当心这些食物有毒!
flash闪存使用和STM32CUBEMX安装教程【第三天】