一、邏輯運算
布爾運算:真、假
與運算:
真 && 真 = 真
真 && 假 = 假
假 && 真 = 假
假 && 假 = 假
或運算:
真 || 真 = 真
真 || 假 = 真
假 || 真 = 真
假 || 假 = 假
非運算:
非真 = 假
非假 = 真
二、狀態返回值
echo $?
成功:則返回0
失?。簞t返回1-255,失敗不等于假
自定義:exit [n]
三、算數運算
1、定義整形變量
let VAR_NAME=INTEGER_VALUE
declare -i VAR_NAME=INTEGER_VALUE
如果沒有定義整形變量,字符型數字會被bash執行隱士類型轉換參與算數運算
2、運算方式
let VAR_NAME=ARITHMATIC_EXPRESSION
VAR_NAME=$[ ARITHMATIC_EXPRESSION ]
VAR_NAME=$(( EXPRESSION ))
VAR_NAME=$( expr EXPRESSION )
3、算數運算符
+、-、*、/、%、**、+=、-+、、*=、/=、%=、++
四、比較運算測試
1、整形比較測試
-gt:大于
-lt:小于
-ge:大于等于
-le:小于等于
-eq:等于
-ne:不等于
2、字符串比較測試,根據ASCLL碼大小比較字符串
雙目運算符:
>:
<:
>=:
<=:
==:
!=:
=~:模式匹配,[[ "$VAR" =~ PATTERN ]]
單目運算符:
-n String:是否不空,不空則為真,空則為假
-z String:是否為空,空則為真,不空則為假
3、文件比較測試
-a/-e FILE:存在則為真,否則則為假
-f FILE:存在且為普通文件則為真,否則為假
-d FILE:存在且為目錄文件則為真,否則為假
-s FILE:存在且為非空文件則為真,否則為假
-r FILE:存在且為可讀文件則為真,否則為假
-w FILE:存在且為可寫文件則為真,否則為假
-x FILE:存在且為可執行文件則為真,否則為假
-L/-h:存在且為符號鏈接文件則為真,否則為假
-b FILE:存在且為塊設備則為真,否則為假
-c FILE:存在且為字符設備則為真,否則為假
-S FILE:存在且為Socket套接字文件則為真,否則為假
FILE1 -nt FILE2:FILE1的mtime新于FILE2則為真,否則為假
FILE1 -ot FILE2:FILE1的mtime舊于FILE2則為真,否則為假
五、測試方式
1、test EXPR
2、[ EXPR ]
3、[[ EXPR ]]
測試比較通常只在同一種類型間進行
六、for循環語句
說明:遍歷有限的元素列表,語句在同一行用;分隔
語法:
for VAR_NAME in LIST
do
循環體
done
LIST:列表,中間包括一個或多個元素
退出條件:遍歷結束
七、if條件語句
單分支if語句:
if 測試條件;then
選擇分支
fi
雙分支if語句:
if 測試條件;then
選擇分支1
else
選擇分支2
fi
多分支if語句:
if 測試條件1;then
選擇分支1
elif 測試條件2;then
選擇分支2
elif 測試條件2;then
選擇分支3
…
elif 測試條件n;then
選擇分支n
else
選擇分支{n+1}
fi
原創文章,作者:princepar,如若轉載,請注明出處:http://www.www58058.com/4780