Shell编程中的条件语句有哪些
发表于:2024-10-06 作者:千家信息网编辑
千家信息网最后更新 2024年10月06日,Linux Shell编程中的条件语句有哪些?针对这个问题,今天小编总结这篇有关条件语句的文章,希望能帮助更多想解决这个问题的朋友找到更加简单易行的办法。条件测试文件测试整数测试字符串与逻辑测试IF语
千家信息网最后更新 2024年10月06日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安全错误
数据库的锁怎样保障安全
常州网络安全准入控制研发公司
计算机网络技术vlan咋算
天津 代理服务器
佛山公司软件开发公司
软件开发生命周期的4部分
四六级网络安全
天津外贸软件开发公司
保护网络安全的常用技术
德州党性体检软件开发系统
云南综合软件开发零售价格
完善软件开发成熟度
数据库是若干个什么的集合
融资租赁系统软件开发
联网收费系统网络安全管理
如何建设图数据库
政治安全特别是网络安全
杭州mes软件开发
数据库数据库系统时间
广播电视重大网络安全事件
数据库mdf文件是什么
服务器ip填写
评论员文章网络安全技术
产品经理对软件开发的评价
ibm服务器系统安装
王者服务器炸了几次
如何计算服务器功率
数据库中怎么将数据更新成空值
上海推广网络技术管理方法
多服务器部署
深圳聚美通道互联网科技