Shell脚本基本判断
一.条件测试
格式1: test 条件表达式
格式2:[ 条件表达式 ]
二.文件测试
-d:测试是否为目录(Directory)
-e:测试目录或文件是否存在(Exist)
-f:测试是否为文件(File)
-r:测试当前用户是否有权限读取(Read)
-w:测试当前用户是否有权限写入(Write)
-x:测试当前用户是否有权限执行(eXcute)
[root@localhost ~]# test -d /etc/yum //测试/etc/yum是否是目录
[root@localhost ~]# echo $? //上一条命令执行状态0就是正常执行,非0就是错误
0
[root@localhost ~]# test -f /etc/yum //测试/etc/yum是否是文件
[root@localhost ~]# echo $?
1
[root@localhost ~]# test -e /etc/yum //测试/etc/yum是否存在
[root@localhost ~]# echo $?
0
三.整数测试
-eq:等于(Equal)
-ne:不等于(Not Equal)
-gt:大于(Greater Than)
-lt:小于(Lesser Than)
-le:小于或等于(Lesser or Equal)
-ge:大于或等于(Greater or Equal)
[root@localhost ~]# [ $(who|wc -l) -gt 10 ]&& echo "有点多!" //统计当前用户量
有点多!
四.字符串比较
格式1:[ 1 == 2 ]
格式2:[ -z 2 ]
==:字符串内容相同
!=:字符串内容不同,!表示相反的意思
-z:字符串内容为空
五.逻辑测试
-a或&&:逻辑与、“而且”的意思
-o或||: 逻辑或、“或者”的意思
!:逻辑否
[root@localhost ~]# [ ! -e /opt/abc ]&&mkdir /opt/abc // /opt/abc这个目录不存在我就创建这个目录
[root@localhost ~]# ls /opt
abc rh
6.if语句单分支
![](/upload/otherpic66/a9f39959fb7e9ee3c80634b282a7ac5d.png)
#!/bin/bash
mulu="/etc/ccc"
if [ ! -d $mulu ]
then
mkdir -p $mulu
fi
7.if双分支语句
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、小程序制作、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了岭东免费建站欢迎大家使用!
#!/bin/bash
ping -c 3 -i 0.2 -W 3 $1 &>/dev/null
if [ $? -eq 0 ]
then
echo "Host $1 is up "
else
echo "Host $1 is down "
fi
#-C发数据包 ,-0.2每隔两秒发一次 -W 3次回复 所有输出到这个无用的目录中
[root@localhost ~]# source test.sh
Host is down
8.if多分支和嵌套语句
#!/bin/bash
#一场跑步比赛,10秒内进入决赛,进入决赛之后会被分进男子组或女子组
read -p "请输入你的比赛时间" tim
if [ $stim -lt 10 ]
then
echo "进入决赛"
read -p "请输入你的性别(男/女) " sex
if [ $sex = "男" ]
then
echo "进入男子组"
else
echo "进入女子组"
fi
else "被淘汰"
fi
分享标题:Shell脚本基本判断
本文路径:http://pwwzsj.com/article/jppgie.html