測(cè)試語(yǔ)句
test 條件表達(dá)式
[ 條件表達(dá)式 ]
格式注意:
以上兩種方法的作用完全一樣摊求,后者為常用。
但后者需要注意方括號(hào)[辰晕、]與條件表達(dá)式之間至少有一個(gè)空格。
test跟 [] 的意思一樣
條件成立若厚,狀態(tài)返回值是0
條件不成立,狀態(tài)返回值是1
操作注意:
[]兩側(cè)要有空格,表達(dá)式中的符號(hào)左右要有空格
root@ubuntu:~# [ 1 = 1 ]
root@ubuntu:~# echo $?
0
root@ubuntu:~# test 1 = 1
root@ubuntu:~# echo $?
0
條件表達(dá)式
- 邏輯表達(dá)式
常見的邏輯表達(dá)式有: && 和 || # 雷同C 語(yǔ)言中 && 和||
- 文件表達(dá)式
-f 判斷輸入內(nèi)容是否是一個(gè)文件
# [ -f weizhi.sh ] && echo "是一個(gè)文件"
是一個(gè)文件
# [ -f weizhi.sddh ] || echo "不是一個(gè)文件"
不是一個(gè)文件
-d 判斷輸入內(nèi)容是否是一個(gè)目錄
# [ -d weizhi.sddh ] || echo "不是一個(gè)目錄"
不是一個(gè)目錄
# mkdir nihao
# [ -d nihao ] && echo "是一個(gè)目錄"
是一個(gè)目錄
-x 判斷輸入內(nèi)容是否可執(zhí)行
# [ -x age.sh ] || echo "文件沒有執(zhí)行權(quán)限"
文件沒有執(zhí)行權(quán)限
# [ -x test.sh ] && echo "文件有執(zhí)行權(quán)限"
文件有執(zhí)行權(quán)限
數(shù)值操作符
主要根據(jù)給定的兩個(gè)值敞峭,判斷第一個(gè)與第二個(gè)數(shù)的關(guān)系,如是否大 于球订、小于后裸、等于第二個(gè)數(shù)。常見選項(xiàng)如下:
n1 -eq n2 相等
n1 -ge n2 大于或等于
n1 -gt n2 大于
n1 -le n2 小于等于
n1 -lt n2 小于
n1 -ne n2 不等于
字符串比較
str1 == str2 str1和str2字符串內(nèi)容一致
str1 != str2 str1和str2字符串內(nèi)容不一致冒滩,!表示相反的意思
計(jì)算表達(dá)式
定義:
計(jì)算表達(dá)式微驶,簡(jiǎn)單來(lái)說(shuō)就是對(duì)具體的內(nèi)容進(jìn)行算數(shù)計(jì)算
格式:
方式一: $(()) $(( 計(jì)算表達(dá)式 ))
方式二: let let 計(jì)算表達(dá)式
注意:$(())中只能用+-*/和()運(yùn)算符,并且只能做整數(shù)運(yùn)算
$(())演示效果
格式: a=$((變量名a+1))
注意:
表達(dá)式范圍內(nèi)开睡,空格不限制
計(jì)算示例
root@ubuntu:~# echo $((100/5))
20
let演示效果
格式:let 變量名a=變量名a+1
注意:
表達(dá)式必須是一個(gè)整體因苹,中間不能出現(xiàn)空格等特殊字符
let示例
root@ubuntu:~# i=1
root@ubuntu:~# let i=i+7
root@ubuntu:~# echo $i
8