Shell脚本基本判断
admin
2023-03-06 10:42:40
0

一.条件测试

格式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语句单分支

![](https://s1.51cto.com/images/blog/201910/09/a9f39959fb7e9ee3c80634b282a7ac5d.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
#!/bin/bash
mulu="/etc/ccc"  
if [ ! -d $mulu ] 
then
    mkdir -p $mulu
fi

7.if双分支语句

Shell脚本基本判断

#!/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多分支和嵌套语句

Shell脚本基本判断

#!/bin/bash
#一场跑步比赛,10秒内进入决赛,进入决赛之后会被分进男子组或女子组
read -p "请输入你的比赛时间" tim
if [ $stim -lt 10 ]
then
    echo "进入决赛"
    read -p "请输入你的性别(男/女) " sex
    if [ $sex = "男" ]
        then
            echo "进入男子组"
    else
            echo "进入女子组"
    fi
else "被淘汰"
fi

相关内容

热门资讯

全球科技巨头谷歌入驻广州 5月8日,据广州发布消息,近日全球科技巨头谷歌(Google)正式签订合同,入驻位于天河CBD珠江新...
首届“泉城杯”国际人形机器人全... 济南广电·天下泉城客户端5月8日讯一场跨越国界的智能体育盛宴即将燃爆泉城。2026年首届“泉城杯”国...
切尔诺贝利核禁区发生大火,过火... 新华社基辅5月8日电(记者李东旭)乌克兰国家紧急情况局8日说,切尔诺贝利核禁区发生大火,并受大风天气...
伊朗大使:不接受任何军事威胁下... 据凤凰卫视报道,5月8日,伊朗驻华大使馆召开记者会,大使法兹里在回应近期海湾局势时表示,伊朗日前向美...
国民党痛批赖清德:把司法当东厂... 据凤凰卫视报道,国民党和民众党联手否决了赖清德提名的检察机构负责人选,但赖清德并未重新提名新人选,而...
男子给婚外情对象转账22万余元... 男子谭某和妻子梁某在1991年结婚,婚后育有两女。2020年时,谭某结识女子贺某后,二人发生婚外情关...
钧正平:为什么说东京审判还没有... 今年是东京审判开庭80周年,我们在此回顾三个故事。东京审判现场。被偷走的骨灰1948年12月23日午...
国乒男团3比0韩国,晋级世乒赛... 北京时间5月8日,2026伦敦世乒赛男团1/4决赛,国乒男团以总比分3比0战胜韩国队,晋级半决赛。本...
美国公布首批UFO相关政府文件... 美国国防部5月8日公布了首批“与外星人、地外生命、不明空中现象(UAP)以及不明飞行物(UFO)相关...
外交部:日本军国主义侵略罪行罄... 在东京审判开庭80周年之际,《远东国际军事法庭庭审记录·全译本》日前在中国首发。外交部发言人林剑5月...