shell程式設計之if語句

2022-05-04 03:45:07 字數 3732 閱讀 4369

目錄4.other

-eq 等於,如:if [ "$a" -eq "$b" ]   

-ne 不等於,如:if [ "$a" -ne "$b" ]

-gt 大於,如:if [ "$a" -gt "$b" ]

-ge 大於等於,如:if [ "$a" -ge "$b" ]

-lt 小於,如:if [ "$a" -lt "$b" ]

-le 小於等於,如:if [ "$a" -le "$b" ]

< 小於(需要雙括號),如:(("$a" < "$b"))

<= 小於等於(需要雙括號),如:(("$a" <= "$b"))

> 大於(需要雙括號),如:(("$a" > "$b"))

>= 大於等於(需要雙括號),如:(("$a" >= "$b"))

= 等於,如:if [ "$a" = "$b" ]   

== 等於,如:if [ "$a" == "$b" ],與=等價

#!/bin/bash  

i=6

a=10

if [ $a -eq 10 ]

then

echo "a = 10"

fi

if [ $a -ne $i ]

then

echo "a != $i"

fi

if [ $a -gt $i ]

then

echo "a > i"

fi

if [ $a -lt $i ]

then

echo "a < i"

else

echo "a > i"

fi

if(("$a" > "$i"))

then

echo "(())a>i"

fi

if(($a != $i))

then

echo "(())a!=i"

fi

#!/bin/bash  

a="123"

b="1234"

c="123"

if [ "$a"x != "$b"x ]

then

echo "a != b"

fi

if [ "$a"x = "$c"x ]

then

echo "a == c"

fi

-e                          檔案存在

-a 檔案存在(已被棄用)

-f 被測檔案是乙個regular檔案(正常檔案,非目錄或裝置)

-s 檔案長度不為0

-d 被測物件是目錄

-b 被測物件是塊裝置

-c 被測物件是字元裝置

-p 被測物件是管道

-h 被測檔案是符號連線

-l 被測檔案是符號連線

-s(大寫) 被測檔案是乙個socket

-t 關聯到乙個終端裝置的檔案描述符。用來檢測指令碼的stdin[-t0]或[-t1]是乙個終端

-r 檔案具有讀許可權,針對執行指令碼的使用者

-w 檔案具有寫許可權,針對執行指令碼的使用者

-x 檔案具有執行許可權,針對執行指令碼的使用者

-u set-user-id(suid)標誌到檔案,即普通使用者可以使用的root許可權檔案,通過chmod +s file實現

-k 設定貼上位

-o 執行指令碼的使用者是檔案的所有者

-g 檔案的group-id和執行指令碼的使用者相同

-n 從檔案最後被閱讀到現在,是否被修改

f1 -nt f2 檔案f1是否比f2新

f1 -ot f2 檔案f1是否比f2舊

f1 -ef f2 檔案f1和f2是否硬連線到同乙個檔案

二元比較操作符,比較變數或比較數字

整數比較:

-eq 等於 if [ "$a" -eq "$b" ]

-ne 不等於 if [ "$a" -ne "$b" ]

-gt 大於 if [ "$a" -gt "$b" ]

-ge 大於等於 if [ "$a" -ge "$b" ]

-lt 小於 if [ "$a" -lt "$b" ]

-le 小於等於 if [ "$a" -le "$b" ]

< 小於(需要雙括號) (( "$a" < "$b" ))

< = 小於等於(...) (( "$a" <= "$b" ))

> 大於(...) (( "$a" > "$b" ))

> = 大於等於(...) (( "$a" >= "$b" ))

字串比較:

= 等於 if [ "$a" = "$b" ]

== 與=等價

!= 不等於 if [ "$a" = "$b" ]

< 小於,在ascii字母中的順序:

if [[ "$a" < "$b" ]]

if [ "$a" \< "$b" ] #需要對《進行轉義

> 大於

-z 字串為null,即長度為0

-n 字串不為null,即長度不為0

shell程式設計之條件語句

一 條件測試方法 方法1 test 條件表示式 方法2 條件表示式 注 方法2條件表示式與中括號之間必須有空格 二 條件測試分類 檔案測試 格式 操作符 檔案或目錄 常用測試操作符 d 測試目錄是否存在 f 測試檔案是否存在 e 測試目錄或檔案是否存在 r 測試當前使用者是否可讀 w 測試當前使用者...

shell程式設計之選擇語句

case語法規則 case 變數名 in 值1 語句1 值2 語句2 語句n esac case選擇語句符合單條件多分支的情況。例項 根據使用者的輸入來輸出對應的內容 bin bash read p please input your choice y n t 5 choice case choic...

Shell程式設計之條件語句

test命令 測試表示式是否成立,若成立返回0,否則返回其他數值 格式一 test 條件表示式 格式二 條件表示式 檔案測試 操作符 檔案或目錄 常用的測試操作符 d 測試是否為目錄 directory e 測試目錄或檔案是否存在 exist f 測試是否為檔案 file r 測試當前使用者是否有許...