1. 程式人生 > 其它 >if語句用法與條件測試

if語句用法與條件測試

文章目錄


一、if迴圈

if語句分為三種結構

(一)、單分支

if  條件測試操作
    then   命令序列      
fi

在這裡插入圖片描述

if [ 3 -gt 2 ]; then echo "ok"; fi   #如果3大於2輸出ok

(二)、雙分支

if 條件測試操作
then
命令序列 1
else
命令序列 2
fi
#!/bin/bash
read -p "請輸入您的分數(0-100): " score
if [ $score -ge 85 ] &&
[ $score -le 100 ] then echo "$score 分,優秀!" elif [ $score -ge 70 ] && [ $score -le 84 ] then echo "$score 分,合格!" else echo "$score 分,不合格!" fi ##判斷成績,85-100優秀,84-70合格,其他為不合格

在這裡插入圖片描述

(三)、多分支

if 條件測試操作 1
then
命令序列 1
elif 條件測試操作 2
then
命令序列 2
[else]
[命令序列 3]
fi

在這裡插入圖片描述

二、case迴圈

case
變數值 in 模式 1) 命令序列 1 ;; 模式 2) 命令序列 2 ;; …… *) 預設命令序列 Esac

在這裡插入圖片描述

三、條件判斷

test 命令,可以對特定條件進行測試,並根據返回值來判斷條件是否成立($?返回值為 0 表示條件成立)。
格式一:

test 條件表示式

格式二:

[ 條件表示式 ]			#方括號“[”或“]”與條件表示式之間需要至少一個空格進行分隔

檔案測試

格式:[ 操作符 檔案或目錄 ]

常用的操作符:

-e:測試目錄或檔案是否存在(Exist)。
-d:測試是否為目錄(Directory)。
-f:測試是否為檔案(File)。
-r:測試當前使用者是否有許可權讀取(Read)。
-w:測試當前使用者是否有許可權寫入(Write)。 -x:測試是否設定有可執行(Excute)許可權。

整數值比較

格式:[ 整數變數1 操作符 整數變數2 ]

常用的操作符:

-eq:等於					==
-ne:不等於					!=
-gt:大於					\>
-lt:小於					\<
-le:小於等於
-ge:大於等於


[[ 2 ­ge 3 ]] && echo true || false

#!/bin/bash
ping -c 3 -i 0.5 -W 2 $1 &> /dev/null && echo “$1 online” || echo “$1 off”

在這裡插入圖片描述

-c:傳送包的個數
-i:傳送包的間隔時間
-W:超時時間
-w:多少秒後停止 ping 命令操作