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編程之條件語句章

相關文章
相關標籤/搜索