linux shell編程之if語句

-eq 等於

-ne 不等於 

-gt 大於

-lt 小於

-le 小於或等於

-ge 大於或等於

-z 空串

= 兩個字符相等

!= 兩個字符不相等

-n 非空串

字符串通常用來檢查用戶輸入,系統環境是否滿足條件,在提供交互式操作的shell腳本中也可以判斷用戶輸入位置參數是否符合要求,字符串的常用操作如下:


文檔比較運算符:

-e filename  假如filenanme存在,則爲真  

-d filename  假如filename爲目錄,則爲真

-f filename 假如filename爲常規文檔,則爲真

-L filename 假如filename爲符號鏈接,則爲真

-r filename 假如filename可讀,則爲真

-w filename 假如filename可寫,則爲真

-x filename 假如filename可執行,則爲真


if 語句是循環語句中一種又稱爲控制語句,通過制定條件進行判斷執行,只有條件成立的時候纔會執行相應的代碼,否則不會執行任何操作。


*單分支if語句格式:

if 條件測試操作

then

    命令序列

fi


例子1

vim a.txt

#!/bin/bash

if

    [ ! -d /media/cdrom ]

thenk

    mkdir -p /media/cdrom

fi

wq!

sh -x a.txt        x選項爲查看調試過程


例子2

vim b.txt

#!/bin/bash

NUM=100

if (($NUM > 4));then

echo "this num is $NUM greater 4!"

fi

wq!

sh -x b.txt



*雙分支if語句格式:

雙分支的選擇結果,要求針對條件成立,條件不成立兩種情況分別執行不同的操作

語法結構

if 條件測試操作

then ( 條件成立執行)

    命令序列1

else(否則,條件不成立,則執行)

    命令序列2

fi


例子3

vim c.txt

#!/bin/bash

ping -c 3 -i 0.2 -w 3 $1

if

    [ $? -eq 0 ]

then

    echo "ip is up"

else

    echo "ip is down"

fi

sh -x c.txt 172.0.0.1


例子4

vim b.txt

#!/bin/bash

word=$1

grep ^$1$" /usr/share/dict/words -q 

    if [ $? -eq 0 ];then

        echo "word is a dictionary word"

else

        echo "word is not a dictionary word"

fi



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章