-------------------------------------------------------------------------------------------socket
運算ide
邏輯運算
布爾運算:真,假
與,或,非,異或
&& 與
|| 或
!
比較運算符
>
<
==
!=
>=
<=
命令執行成功與否的條件測試
test
整型比較
-eq 等於
-gt 大於
-lt 小於
-ge 大於等於
-le 小於等於
-ne 不等於
字符串測試,在對字符串或變量作比較時,最好把變量或字符串都用雙引號引發來。
雙目操做符
>
<
>=
<=
==
!=
file1 -nt file2 文件file1的mtime新於file2則爲真,不然爲假
file1 -ot file2 文件file1的mtime老於file2則爲真,不然爲假
單目操做符
-n ‘string’ 測試字符串是否爲空,不空爲真,空爲假
-n "wukui"
-z ‘string’ 測試字符串是否爲空,空爲真,不空爲假。
-a filename 存在則爲真,否在爲假
-e filename 與-a同樣
-f filename 文件存在而且是一個普通文件,則爲真
-d filename 文件存在而且是一個目錄,則爲真
-h filename 文件存在而且爲一個連接文件則爲真
-L filename 與-h同樣
-b filename 文件存在,而且是一個塊設備
-c filename 文件存在,而且是字符設備
-S 文件存在而且是一個socket文件
-p 文件存在,而且是管道文件
-s filename 文件存在而且非空
-r 文件有讀取的權限
-w 文件有寫的權限
-x 文件有執行的權限
-N 文件被修改過,而且沒人看過。文件的mtime比atime新
組合條件,在多個條件間實現邏輯運算
與 [ 條件1 -a 條件2 ]
條件1 && 條件2 這時就不須要中括號了
或 [ 條件1 -o 條件2 ]
條件1 || 條件2
非 [ -not 條件 ]
! 條件
------------------------------------------------------------------------------------------ 判斷測試
if 三種使用格式
單分支的
if 測試條件;thenn
選擇分支
fi
if ! 測試條件;thenn 歎號表示取反
選擇分支
fi
條件狀態返回值爲真則執行分支。
雙分支的if語句
if 測試條件;then
選擇分支1
else
選擇分支2
fi
兩個分支只支執行一個
多分支的
if 測試條件;thenn
選擇分支
elif 條件2 ;then
分支2
elif 條件3 ;then
分支3
else
分支n
fi
case語句,有多個測試條件時,case比if寫法更簡便。
PATTERN:
a|b:a或者b
*:匹配任意長度的字符
?:匹配任意單個字符
[]:用來取範圍
case i in
1)
echo $i
;;
2)
echo $i
;;
*)
echo "haha"
caseui