在Shell腳本中,可以使用if語(yǔ)句進(jìn)行條件判斷。if語(yǔ)句的基本語(yǔ)法如下:
if [ condition ]; then
# 當(dāng)條件成立時(shí)執(zhí)行的命令
elif [ condition ]; then
# 當(dāng)條件成立時(shí)執(zhí)行的命令(可選,可以有多個(gè)elif)
else
# 當(dāng)所有條件都不成立時(shí)執(zhí)行的命令
fi
其中,condition
是一個(gè)測(cè)試表達(dá)式,用于判斷條件是否成立。常用的測(cè)試操作符包括:
-eq
:等于-ne
:不等于-gt
:大于-lt
:小于-ge
:大于等于-le
:小于等于-z
:字符串長(zhǎng)度為零-n
:字符串長(zhǎng)度不為零-e
:文件存在-f
:文件為普通文件-d
:目錄存在-s
:文件大小為0-b
:文件為塊設(shè)備-c
:文件為字符設(shè)備-p
:文件存在且是一個(gè)管道-u
:文件具有用戶讀權(quán)限-g
:文件具有組讀權(quán)限-o
:文件具有其他用戶讀權(quán)限-w
:文件具有寫(xiě)權(quán)限-x
:文件具有執(zhí)行權(quán)限示例:
#!/bin/bash
num=10
if [ $num -eq 10 ]; then
echo "The number is 10."
elif [ $num -lt 10 ]; then
echo "The number is less than 10."
else
echo "The number is greater than 10."
fi
在這個(gè)示例中,我們判斷變量num
的值,如果等于10,輸出"The number is 10.“;如果小于10,輸出"The number is less than 10.”;否則輸出"The number is greater than 10."。