Shell编程中的条件语句有哪些-创新互联
Linux Shell编程中的条件语句有哪些?针对这个问题,今天小编总结这篇有关条件语句的文章,希望能帮助更多想解决这个问题的朋友找到更加简单易行的办法。
成都创新互联主要业务有网站营销策划、成都做网站、网站建设、微信公众号开发、小程序开发、H5高端网站建设、程序开发等业务。一次合作终身朋友,是我们奉行的宗旨;我们不仅仅把客户当客户,还把客户视为我们的合作伙伴,在开展业务的过程中,公司还积累了丰富的行业经验、全网营销推广资源和合作伙伴关系资源,并逐渐建立起规范的客户服务和保障体系。条件测试
- 文件测试
- 整数测试
- 字符串与逻辑测试
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 -l
7
[root@localhost ~]# [ $(who |wc -1) -gt 5] && echo "Too many." //用户数是否>5
Too 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/bash dir="/mnt/aaa/" if [ !-d $dir ] //当目录不存在时执行 then mkdir -p $dir if
双分支结构
if 条件测试操作
then 命令序列1
else 命令序列2
fi
双分支if语句
- 判断目标主机是否存活,显示检测结果
root@localhost ~]# vim test02.sh
#!/bin/bash
ping -c 3 -i 0.2 -W 3 $1 &> /dev/null
if [ $? -eq 0 ]
then //判断ping命令的检测结果,分别给出不同的提示
echo "Host $1 is up."
else
echo "Host $1 is down."
fi
多分支结构
if 条件测试操作1
then 命令序列1
elif 条件测试操作2
then 命令序列2
else
命令序列3
fi
多分支if语句
- 判断分数范围,分出优秀、合格、不合格三档
[root@localhost ~]# vim test03.sh #!/bin/bash read -p "请输入您的分数(0-100):" a if [ $a -ge 85 ]&&[ $a -le 10 ] then echo"$a分,优秀!" //判断分数所在区间,给出不同的分档结果 elif[ $a -ge 70 ]&&[ $a -le 84 ] then echo"$a分,合格!" else echo"$a分,不合格!" fi
- 看完上述内容,你们对Shell编程中的条件语句有进一步的了解吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文名称:Shell编程中的条件语句有哪些-创新互联
标题路径:http://ybzwz.com/article/dpceoh.html