Shell编程之条件语句章

条件测试:

一、文件测试编程

二、整数测试vim

三、字符串与逻辑测试bash

if语句:

一、if单分支语句ide

二、if双分支语句测试

三、if多分支语句code

四、if嵌套语句blog

test命令:

测试特定的表达式 是否成立,当条件成立时,测试语句的返回值为0,不然为其余数值。字符串

格式1:test 条件表达式
格式2:[ 条件表达式 ]       //注意有空格

文件测试:

格式:[ 操做符 文件或目录 ]

经常使用的测试操做符:

一、-d:测试是否为目录(Directory)
二、-e:测试目录或文件是否存在(Exist)
三、-f:测试是否为文件(File)
四、-r:测试当前用户是否有权限读取(Read)
五、-w:测试当前用户是否有权限写入(Write)
六、-x:测试当前用户是否有权限执行(eXcute)

举例说明:

方法一:test -d /etc/sysconfig(测试etc目录下是否有sysconfig这个文件或者目录存在)   
              echo $?(进行条件判断,若是由此文件输出结果为0值)
方法二:[ -d /etc/sysconfig ]
              echo $?(进行条件判断,若是无此文件输出结果为非0值,就是1)
整数值比较:
格式:[ 整数1 操做符 整数2 ]
经常使用的测试操做符:
一、-eq:等于(Equal)
二、-ne:不等于(Not Equal)
三、-gt:大于(Greater Than)
四、-lt:小于(Lesser Than)
五、-le:小于或等于(Lesser or Equal)
六、-ge:大于或等于(Greater or Equal)

Demo1 :

目的:查看目录下是否有咱们须要的文件,若没有则直接建立。具体操做以下:it

[root@localhost ~]#  ! test -e /etc/ssc && touch /etc/ssc(查看在etc目录有是否有ssc文件,若是没有直接在此目录下建立)
[root@localhost ~]# cd /etc(验证:进入etc目录下)
[root@localhost etc]# ls(查看详细信息,此时能够找到咱们建立的sscw文件)

字符串比较:

格式1:[ 字符串1 = 字符串2 ]
​            [ 字符串1 ! = 字符串2 ]
格式2:[ -z 字符串]
经常使用的测试i操做符:
一、=:字符串内容相同
二、!=:字符串内容不一样,!表示相反的意思
三、-z:字符串内容为空

逻辑测试:

格式1:[ 表达式1 ] 操做符 [ 表达式2 ] ...
格式2:命令1 操做符 命令2 ...

经常使用的测试操做符:

一、-a或&&:逻辑与,“并且”的意思
二、-o或||:逻辑或,“或者”的意思
三、!:逻辑否

一、单分支结构:

Shell编程之条件语句章

二、双分支结构:

Shell编程之条件语句章

三、多分支结构:

Shell编程之条件语句章

if语句应用示例:

1.单分支if语句

2.双分支if语句:

判断目标主机是否存活,显示检测结果class

Shell编程之条件语句章

3.多分支if语句:

判断分数范围,分出优秀、合格、不合格三挡

Shell编程之条件语句章

Demo2(判断成绩):

使用单分支实现:

vim source.sh
#!/bin/bash
read -p "请输入整数" src
if [ $src -le 50 ]
 then 
    echo "数字过小"
fi
chmod +x source.sh
./source.sh

使用双分支实现:(进入建立的执行文件中进行修改)

vim source.sh
#!/bin.bash
read -p "请输入整数" src
if [ $src -le 50 ]
 then 
    echo "数字过小"
 else
    echo "数字太大"
fi

使用多分支实现:(进入建立的执行文件中进行修改)

vim source.sh
#!/bin.bash
read -p "请输入整数" src
if [ $src -ge 85 ]&& [ $src -le 100 ]
 then 
    echo "$src成绩优秀"
elif [ $src -ge 70 ] && [ $src -le 84]
 then
    echo " $src成绩合格"
 else
    echo "成绩不合格"
fi

Demo3:

实验环境:进行跑步比赛,10秒内进入决赛,输入性别后,分别提示进入男子组仍是女子组,使用多重判断,嵌套if实现

具体在执行文件中输入内容以下图:

Shell编程之条件语句章

相关文章
相关标签/搜索