shell流程控制---shell中的运算与if语句判断

本文深入探讨了Shell中的运算,包括数学比较、字符串比较、文件检查和逻辑运算。此外,还详细介绍了if语句的不同语法,如单if、if-then-else和if-then-elif结构,以及if语句的高级应用,如双圆括号中的数学表达式和通配符使用。

shell中的运算

1> 数学比较运算

-eq 等于

-gt 大于

-lt 小于

-ge 大于或等于

-le 小于或等于

-ne 不等于

2> 字符串比较运算

注意字符串一定要用引号引起来

== 检测两个字符串是否相等  相等返回true

!= 检测两个字符串是否相等,不相等返回true

-z 检测字符串长度是否为0

-n 检测字符串长度是否不为0

3> 文件比较与检查

-d 检查文件是否存在且为目录

返回值为1,说明不存在,在Linux操作系统中,只有当返回值为0的时候才算是true。 

-e 检查文件或者目录是否存在

-f 检查文件是否存在且为文件

-r 检查文件是否存在且为可读

-s 检查文件是否存在且不为空

-w 检查文件是否存在且可写

-x 检查文件是否存在且可执行

-O 检查文件是否存在且被当前用户拥有

-G 检查文件是否存在并且默认组为当前用户组

file1 -nt file2 检查file1是否比file2新

file1 -ot file2 检查file1是否比file2旧

file1 -ef file2 检查file1与file2是否指向同一个inode,也就是说是否拥有相同的硬链接

4> 逻辑运算

逻辑与运算  &&

逻辑或运算   ||

逻辑非运算    !

5> 赋值运算

=   赋值运算符

if语法

语法一:单if语句

使用范围:只需要一步判断,条件返回真干什么或者条件返回假干什么。

语句格式:

if [condition]                  #condition值为true或false

     then

          commands

fi

例子:加入没有/tmp/abc这个目录 就创建

现在运行一下上面这个脚本文件

语法二:if-then-else 语句

适用范围:两步判断,条件为真干什么,条件为假干什么

语法格式:

if [condition]

       then

             commands1

else

             commands

fi

例子:判断当前用户是否为root

运行上述脚本文件

语法三:if-then-elif语句

适用范围:多于两个以上的判断结果

语法格式:

if [condition 1]

        then

               commands1

elif [condition 2]

        then

               commands2

...

else

               commandsx

fi

例子:比较两个数的大小

运行上述脚本文件:

上述红框中表示传递的参数。 

if的高级应用

1. 条件符号使用双圆括号,可以在条件中植入数学表达式

执行上面的脚本文件

 注意:双小圆括号中的比较运算符,使用的是我们传统的比较运算符 > < >= <= == !=

 2. 使用方括号可以在条件中使用通配符

运行上述脚本文件

 学习视频:https://www.bilibili.com/video/BV1vE41127wm?p=15

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值