当前位置:网站首页>Shell编程之条件语句
Shell编程之条件语句
2022-07-31 00:17:00 【白给超人】
条件测试
Shell 环境根据命令执行后的返回状态值 " $? " 来判断是否执行成功,当返回值为0时表示成功,否则表示失败或异常(非0值)。
使用专门的测试工具 test 命令,可以对特定条件进行测试,并根据返回值(值为0)来判断是否成立。
test 条件表达式
[ 条件表达式 ] #条件表达式的两边都需要有空格,没有空格会报错,且此方法更为常用
[[ 条件表达式 ]]
选项:
-a 文件是否存在(-a取反会有问题 建议使用 -e)
-e 文件是否存在
-f 判断是否是普通文件
-d 判断是否是目录文件
-r 判断当前用户对文件是否可读
-w 判断当前用户对文件是否可写
-x 判断当前用户对文件是否可执行
ps:[ ] 和 [[ ]] 区别 []不支持正则核通配符 [[]]支持
对于超级管理员所有权限 :除了x 其他不适受限
1. 其他人没有rw 超级管理员也有
2. 其他人没有x 超级管理员也没有,只要其他用户有x超级管理员也有
整数比较
通式: [ 整数1 操作符 整数2 ]
操作符:
-eq 等于
-ne 不等于
-lt 小于
-gt 大于
-le 小于等于
-ge 大于等于
字符串比较
格式:
[ 字符串1=字符串2 ]
[ 字符串1!=字符串2 ]
[ -z 字符串 ]
常用的测试操作符:
=:第一个字符串和第二个字符串相同
!=:第一个字符串与第二个字符串不相同,其中“!”符号表示取反
-z:字符串内容为空
逻辑测试
逻辑测试指的是判断两个或多个条件之间的依赖关系。当系统任务取决于多个不同条件时,判断是根据这些条件同时成立还是只要有其中一个成立等情况,需要有一个测试过程。
格式:
[ 表达式1 ] 操作符 [ 表达式2 ]
命令1 操作符 命令2
常用的测试操作符:
&&:逻辑与,表示而且,只有当两个条件都成立时,整个测试命令的返回值才为0(结果成立)。
使用Test命令测试时,“&&”可改为“-a”。
||:逻辑或,表示或者,只要前后两个条件有一个成立,整个测试命令的返回值即为0(结果成立)。
使用Test命令测试时,“||”可改为“-o”。
!:逻辑否,表示“不”,只有当指定的条件不成立时,整个测试命令的返回值才为0(结果成立)。
短路与(且) : &&
全真才为真,一假即为假
cmd1 && cmd2
1. 第一个命令是假的 没有必要再执行命令2 应为肯定为假
2. 第一个命令是真的 我要执行命令2后才能判断是否为真
短路或(或者): ||
一真即为真,全假才为假
cmd1 || cmd2
1. 第一个命令是真的,不需要执行命令2,应为肯定为真
2. 第一个命令是假的,才会执行命令2后 判断整个式子是否为真
if:条件判断语句
未完待续
边栏推荐
- 【唐宇迪 深度学习-3D点云实战系列】学习笔记
- MySQL面试题
- [Meng Xin problem solving] Delete the Nth node from the bottom of the linked list
- DNS解析过程【访问网站】
- Shell programming conditional statement test command Integer value, string comparison Logical test File test
- leetcode 406. Queue Reconstruction by Height
- 借助深度估计的点云场景重建
- WEB安全基础 - - -漏洞扫描器
- h264和h265解码上的区别
- 神经网络(ANN)
猜你喜欢
Shell编程条件语句 test命令 整数值,字符串比较 逻辑测试 文件测试
一款好用的接口测试工具——Postman
xss靶机训练【实现弹窗即成功】
Android security optimization - APP reinforcement
Bypass of xss
【深入浅出玩转FPGA学习13-----------测试用例设计1】
Linux 部署mysql 5.7全程跟踪 完整步骤 django部署
DNS resolution process [visit website]
Axure Carousel
Encapsulate and obtain system user information, roles and permission control
随机推荐
xss绕过:prompt(1)
firewalld
[Meng Xin problem solving] Delete the Nth node from the bottom of the linked list
2D Transform Module && Media Queries
Encapsulate and obtain system user information, roles and permission control
MySQL数据库约束,表的设计
leetcode 406. Queue Reconstruction by Height
Axure Carousel
Strict Mode for Databases
游戏商城表建立
Error occurred while trying to proxy request项目突然起不来了
Common network status codes
借助深度估计的点云场景重建
How to use joiplay emulator
WEB安全基础 - - -漏洞扫描器
46.
Regular expression password policy and regular backtracking mechanism bypass
Gabor filter study notes
Homework: iptables prevent nmap scan and binlog
what is jira