Shell编程之条件语句章
发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,条件测试:1、文件测试2、整数测试3、字符串与逻辑测试if语句:1、if单分支语句2、if双分支语句3、if多分支语句4、if嵌套语句test命令:测试特定的表达式 是否成立,当条件成立时,测试语句的
千家信息网最后更新 2025年01月22日Shell编程之条件语句章
条件测试:
1、文件测试
2、整数测试
3、字符串与逻辑测试
if语句:
1、if单分支语句
2、if双分支语句
3、if多分支语句
4、if嵌套语句
test命令:
测试特定的表达式 是否成立,当条件成立时,测试语句的返回值为0,否则为其他数值。
格式1:test 条件表达式格式2:[ 条件表达式 ] //注意有空格
文件测试:
格式:[ 操作符 文件或目录 ]
常用的测试操作符:
1、-d:测试是否为目录(Directory)2、-e:测试目录或文件是否存在(Exist)3、-f:测试是否为文件(File)4、-r:测试当前用户是否有权限读取(Read)5、-w:测试当前用户是否有权限写入(Write)6、-x:测试当前用户是否有权限执行(eXcute)
举例说明:
方法一:test -d /etc/sysconfig(测试etc目录下是否有sysconfig这个文件或者目录存在) echo $?(进行条件判断,如果由此文件输出结果为0值)方法二:[ -d /etc/sysconfig ] echo $?(进行条件判断,如果无此文件输出结果为非0值,就是1)
整数值比较:
格式:[ 整数1 操作符 整数2 ]
常用的测试操作符:
1、-eq:等于(Equal)2、-ne:不等于(Not Equal)3、-gt:大于(Greater Than)4、-lt:小于(Lesser Than)5、-le:小于或等于(Lesser or Equal)6、-ge:大于或等于(Greater or Equal)
Demo1 :
目的:查看目录下是否有我们需要的文件,若没有则直接创建。具体操作如下:
[root@localhost ~]# ! test -e /etc/ssc && touch /etc/ssc(查看在etc目录有是否有ssc文件,如果没有直接在此目录下创建)[root@localhost ~]# cd /etc(验证:进入etc目录下)[root@localhost etc]# ls(查看详细信息,此时可以找到我们创建的sscw文件)
字符串比较:
格式1:[ 字符串1 = 字符串2 ] [ 字符串1 ! = 字符串2 ]格式2:[ -z 字符串]
常用的测试i操作符:
1、=:字符串内容相同2、!=:字符串内容不同,!表示相反的意思3、-z:字符串内容为空
逻辑测试:
格式1:[ 表达式1 ] 操作符 [ 表达式2 ] ...格式2:命令1 操作符 命令2 ...
常用的测试操作符:
1、-a或&&:逻辑与,"而且"的意思2、-o或||:逻辑或,"或者"的意思3、!:逻辑否
1、单分支结构:
2、双分支结构:
3、多分支结构:
if语句应用示例:
1.单分支if语句
2.双分支if语句:
判断目标主机是否存活,显示检测结果
3.多分支if语句:
判断分数范围,分出优秀、合格、不合格三挡
Demo2(判断成绩):
使用单分支实现:
vim source.sh#!/bin/bashread -p "请输入整数" srcif [ $src -le 50 ] then echo "数字太小"fichmod +x source.sh./source.sh
使用双分支实现:(进入创建的执行文件中进行修改)
vim source.sh#!/bin.bashread -p "请输入整数" srcif [ $src -le 50 ] then echo "数字太小" else echo "数字太大"fi
使用多分支实现:(进入创建的执行文件中进行修改)
vim source.sh#!/bin.bashread -p "请输入整数" srcif [ $src -ge 85 ]&& [ $src -le 100 ] then echo "$src成绩优秀"elif [ $src -ge 70 ] && [ $src -le 84] then echo " $src成绩合格" else echo "成绩不合格"fi
Demo3:
实验环境:进行跑步比赛,10秒内进入决赛,输入性别后,分别提示进入男子组还是女子组,使用多重判断,嵌套if实现
具体在执行文件中输入内容如下图:
测试
文件
分支
语句
字符
字符串
目录
操作符
格式
条件
整数
表达式
逻辑
输入
内容
常用
成绩
命令
意思
数字
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
书籍借阅数据库设计表
网络技术员要具备哪些
黄兵华北京网络安全
支付宝存储服务器安全吗
浙江gps网络时间服务器价格
币币撮合交易软件开发
济南java软件开发工资
mp4流媒体服务器
软件开发工程师职位分析
未连接弹幕服务器
高科技与互联网股票有哪些
软件开发人员怎么招聘
正确使用网络安全语
石家庄网络安全宣传
无线传感器网络安全知识
宁河软件开发哪家有名
smb服务器配置文件
solserver数据库
中国网络技术带给世界的影响
坦克世界steam是哪个服务器
网络安全训练50讲视频
sql加数据库
软件开发烂尾是什么意思
视觉软件开发视频
属于保护网络安全的技术有
上海用九网络技术有限公司
设置一个简单的游戏服务器
socket的服务器程序
中华数据库12库在哪里
给数据库加视图