Shell编程中的条件语句有哪些
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,Linux Shell编程中的条件语句有哪些?针对这个问题,今天小编总结这篇有关条件语句的文章,希望能帮助更多想解决这个问题的朋友找到更加简单易行的办法。条件测试文件测试整数测试字符串与逻辑测试IF语
千家信息网最后更新 2025年12月03日Shell编程中的条件语句有哪些
Linux Shell编程中的条件语句有哪些?针对这个问题,今天小编总结这篇有关条件语句的文章,希望能帮助更多想解决这个问题的朋友找到更加简单易行的办法。
条件测试
- 文件测试
- 整数测试
- 字符串与逻辑测试
IF语句
- if单分支语句
- if双分支语句
- if多分支语句
- if嵌套
条件测试操作
test命令
- 测试特定的表达式是否成立,当条件成立时,测试语句的返回值为0,否则为其他数值
格式1: test 条件表达式格式2: [ 条件表达式 ] //至少应有一个空格文件测试
[ 操作符 文件或目录 ]常用的测试操作符
- -d:测试是否为目录
- -e:测试目录或文件是否存在
- -f:测试是否为文件
- -r:测试当前用户是否有权限读取
- -w:测试当前用户是否有权限写入
- -x:测试当前用户是否有权限执行
[root@localhost ~]# [ -d /media/cdrom ][root@localhost ~]# echo $?0 //返回0表示条件成立[root@localhost ~]# [ -d /media/cdrom/Server ][root@localhost ~]# echo $?1 //返回1表示条件不成立[root@localhost ~]# [ -d /media/cdrom ] && echo "YES" //&&逻辑与,"而且"的意思YES整数值比较
[ 整数1 操作符 整数2]常用的测试操作符
-eq:等于-ne:不等于-gt:大于-lt:小于-le:小于或等于-ge:大于或等于
[root@localhost ~]# who |wc -l7[root@localhost ~]# [ $(who |wc -1) -gt 5] && echo "Too many." //用户数是否>5Too many.[root@localhost ~]# [ $(who |wc -1) -ge 10 ] && echo">= 10." //用户数是否>=10[root@localhost ~]# FreeCC=$(free -m | grep "Mem:"| awk '{print $6}`)[root@localhost ~]# [ $FreeCC -It 1024 ] && echo ${FreeCC}MB //空闲内存是否< 1024MB 275MB字符串比较
格式1
[ 字符串1 = 字符串2 ][ 字符串1 != 字符串2 ]格式2
[ -z 字符串 ]
常用的测试操作符
- =:字符串内容相同
- !=:字符串内容不同,!号表示相反的意思
- -z:字符串内容为空
[root@localhost ~]# echo $LANG //测试当前语言环境zh_ CN.UTF-8[root@localhost ~]# [ $LANG != "en.US" ] && echo "Not en.US"Not en.US[root@localhost ~]# read -p"是否覆盖现有文件(yes/no) ?"ACK //测试读入的字符串是否为yes是否覆盖现有文件(yes/no) ? yes[root@localhost ~]# [ $ACK = "yes" ] && echo "覆盖"覆盖逻辑测试
格式1:[ 表达式1 ] 操作符号 [ 表达式2 ]...格式2:命令1 操作符 命令2...常用的测试操作符
- -a或&&:逻辑与,"而且"的意思
- -o或||:逻辑或,"或者"的意思
- !:逻辑否
[root@localhost ~]#[ -dletc ] && [-r /etc] && echo "You can open it"[root@localhost~]#[ -d/etc ] II [-d /home] && echo "ok"if语句的分支结构
单分支结构
if 条件测试操作 then 命令序列 fi 单分支if语句
- 判断挂载点目录,若不存在则自动创建
[root@localhost ~]# vim test01.sh#!/bin/bashdir="/mnt/aaa/"if [ !-d $dir ] //当目录不存在时执行thenmkdir -p $dirif双分支结构
if 条件测试操作 then 命令序列1 else 命令序列2fi双分支if语句
- 判断目标主机是否存活,显示检测结果
root@localhost ~]# vim test02.sh#!/bin/bashping -c 3 -i 0.2 -W 3 $1 &> /dev/nullif [ $? -eq 0 ]then //判断ping命令的检测结果,分别给出不同的提示 echo "Host $1 is up."else echo "Host $1 is down."fi多分支结构
if 条件测试操作1 then 命令序列1elif 条件测试操作2 then 命令序列2else 命令序列3fi多分支if语句
- 判断分数范围,分出优秀、合格、不合格三档
[root@localhost ~]# vim test03.sh#!/bin/bashread -p "请输入您的分数(0-100):" aif [ $a -ge 85 ]&&[ $a -le 10 ]thenecho"$a分,优秀!" //判断分数所在区间,给出不同的分档结果elif[ $a -ge 70 ]&&[ $a -le 84 ]thenecho"$a分,合格!"elseecho"$a分,不合格!"fi- 看完上述内容,你们对Shell编程中的条件语句有进一步的了解吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读。
测试
条件
语句
字符
字符串
分支
命令
操作符
文件
序列
格式
逻辑
内容
用户
目录
表达式
常用
意思
结构
不同
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
电商直播软件开发中心
北京行诚网络技术
网络技术安全资格证书
SD视频软件开发
互联网科技讲座有创意的主题
德邦软件开发岗位
济宁慧与软件开发包分工作吗
区块链软件开发犯法吗
有网络安全法的绘画
深圳茹寓互联网科技有限公司
泉州聊天软件开发多少钱
初级软件开发师工资
vue附加数据库
服务器设在境外
笔记本做网站服务器
网络安全的基本做法
河南电脑软件开发靠谱吗
校园出去信息管理系统数据库
魔兽世界各服务器配置
大网站 服务器
北京行诚网络技术
日喀则有几个软件开发公司
控制台连接数据库
徐州信息网络技术常见问题
查询整个数据库的数据库
腾讯云服务器怎么关联安全组
网络安全工程的就业前景
数据库设模式
网络安全法律制度研究
路由器设置屏蔽lol服务器