(2)整數(shù)操作符具有和字符操作符類似的功能.只是他們的操作是針對整數(shù)
test表達式 | 含義
---------------------------------------------
Int1 -eq int2|當(dāng)int1等于int2時,返回True
Int1 -ge int2|當(dāng)int1大于/等于int2時,返回True
Int1 -le int2|當(dāng)int1小于/等于int2時,返回True
Int1 -gt int2|當(dāng)int1大于int2時,返回True
Int1 -ne int2|當(dāng)int1不等于int2時,返回True
-----------------------------------------
(3)用于文件操作的操作符,他們能檢查:文件是否存在,文件類型等
test表達式 | 含義
------------------------------------------------
-d file |當(dāng)file是一個目錄時,返回 True
-f file |當(dāng)file是一個普通文件時,返回 True
-r file |當(dāng)file是一個刻讀文件時,返回 True
-s file |當(dāng)file文件長度大于0時,返回 True
-w file |當(dāng)file是一個可寫文件時,返回 True
-x file |當(dāng)file是一個可執(zhí)行文件時,返回 True
------------------------------------------------
(4)shell的邏輯操作符用于修飾/連接包含整數(shù),字符串,文件操作符的表達式
test表達式 | 含義
----------------------------------------------------------
! expr |當(dāng)expr的值是False時,返回True
Expr1 -a expr2|當(dāng)expr1,expr2值同為True時,返回True
Expr1 -o expr2|當(dāng)expr1,expr2的值至少有一個為True時,返回True
-----------------------------------------------------------
注意:
tcsh shell 不使用test命令,但是tcsh中的表達式同樣能承擔(dān)相同的功能.tcsh
支持的表達式于C中的表達式相同.通常使用在if和while命令中.
tcsh表達式 | 含義
-------------------------------------------------------
Int1 <= int2 |當(dāng)int1小于/等于int2時,返回True
Int1 >= int2 |當(dāng)int1大于/等于int2時,返回True
Int1 < int2 |當(dāng)int1小于int2時,返回True
Int1 > int2 |當(dāng)int1大于int2時,返回True
Str1 == str2 |當(dāng)str1與str2相同時,返回True
Str1 != str2 |當(dāng)str1與str2不同時,返回True
-r file |當(dāng)file是一個可讀文件時,返回True
-w file |當(dāng)file是一個可寫文件時,返回True
-x file |當(dāng)file是一個可執(zhí)行文件時,返回True
-e file |當(dāng)file存在時,返回True
-o file |當(dāng)file文件的所有者是當(dāng)前用戶時,返回True
-z file |當(dāng)file長度為0時,返回True
-f file |當(dāng)file是一個普通文件時,返回True
-d file |當(dāng)file是一個目錄時,返回True
Exp1 || exp2 |當(dāng)exp1和exp2的值至少一個為True時,返回True
Exp1 && exp2 |當(dāng)exp1和exp2的值同為True時,返回True
! exp |當(dāng)exp的值為False時,返回True
-------------------------------------------------------
5.條件語句
同其他高級語言程序一樣,復(fù)雜的shell程序中經(jīng)常使用到分支和循環(huán)控制結(jié)構(gòu),
bash,pdksh和tcsh分別都有兩種不同形式的條件語句:if語句和case語句.
(1)if語句
語法格式:
bash/pdksh用法:
if [expression1]
then
commands1
elif [expression2]
commands2
else
commands3
if
tcsh用法:
if (expression1) then
commands1
else if (expression2) then
commands2
else
commands3
endif
含義:當(dāng)expression1的條件為True時,shell執(zhí)行then后面的commands1命令;當(dāng)
expression1的條件為false并且expression2的條件滿足為True時,shell執(zhí)行
commands2命令;當(dāng)expression1和expressin2的條件值同為false時,shell執(zhí)行
commands3命令.if語句以他的反寫fi結(jié)尾.
聯(lián)系客服