Shell编程中的条件语句有哪些
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,Linux Shell编程中的条件语句有哪些?针对这个问题,今天小编总结这篇有关条件语句的文章,希望能帮助更多想解决这个问题的朋友找到更加简单易行的办法。条件测试文件测试整数测试字符串与逻辑测试IF语
千家信息网最后更新 2026年11月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安全错误
数据库的锁怎样保障安全
中智农互联网科技
互联网科技名片
厦门中拓互联网络科技有限公司
朗新科技与工业互联网
广州互联网科技公司
云电互联网科技
互联网科技视频素材
成都狮子座互联网科技
济南和联互联网科技有限公司
科技与互联网的利与弊
哈尔滨新华互联网科技学院
剑昆互联网络科技有限公司临桂
恒生互联网科技指数跳水
黑科技 体验场景 互联网大会
互联网公司高科技产品
北京市互联网新科技
智帮互联网科技公司最近动向
唐山双旺合互联网科技产业园
数字科技和互联网金融哪个好
武汉亿视互联网科技有限公司
互联网科技有限公司
涨乐互联网科技
互联网金融 科技
互联网络科技有限公司
润盈互联网科技
承德科技产业互联网发展
互联网为啥属于高科技
郑州欣桑互联网科技有限公司
互联网科技和医药行业
众联互联网络科技