運算
a=12
b=11
expr $a+$b
expr $a \*
$becho $[$a+
$b]echo $[a+b]
echo $(
(a+b)
)echo $[a+b]
,$[a*b]
需要注意的是如果使用expr輸出結果,此時在做運算時運算子的兩邊要有空格,如果我們輸入expr a+b,則輸出結果不會對a和b做運算, 結果為a+b。且用expr輸出結果時,乘法必須要用""轉義。如果用echo $這個結構,我們可以不用空格把它們隔開也能輸出想要的結果。
自增運算
let i++
;echo
$i
小數的運算和比較echo
"12.3 +12"
| bc
echo
"12 >= 13"
| bc
給小數作比較時,返回1為真,0為假
字串比較
比較兩個字串是否相等
[ str1 == str2 ]
[ str1 != str2 ]
比較兩個字串大小
if[[
"$a"
< "$b"]]
if["$a" \< "$b"]if
[["$a" > "$b"]]
if["$a" \> "$b"
]
在結構中"<",">"需要被轉義.
邏輯運算:&& ||
if
[-z $]|
|[-z $
]; then
echo
"$值為空或者$的值為空"
fi
-z : 判斷是否為空,為空時為真
[
-z $a
]
! -z : 不為空為真
[
!-z $a
]
-n :不為空為真
[
-n $a
]
整數比較
-eq : 等於
if
["$a"
-eq"$b"
]
-ne :不等於
if
["$a"
-ne"$b"
]
-gt : 大於
if
["$a"
-gt"$b"
]
-ge :大於等於
if
["$a"
-ge"$b"
]
-lt :小於
if
["$a"
-lt"$b"
]
-le : 小於等於
if
["$a"
-le"$b"
]
剔除異常字元,保留文字,數字,字母
採用保留文字,漢字,字母方法剔除異常字元 def is chinese uchar 判斷乙個unicode是否是漢字 if uchar u u4e00 and uchar u u9fa5 return true else return false def is number uchar 判斷乙個un...
Linux Shell指令碼基礎
shell指令碼在處理自動迴圈或大的任務方面可節省大量時間,且功能強大。任何指令碼都可能有注釋,加注釋需要此行的第乙個字元為 直譯器對此行不予解釋。指令碼不是複雜的程式,它是按行解釋的。指令碼第一行總是以 bin sh開始,這段指令碼通知shell使用系統上的 bourne shell直譯器。指令碼...
linux shell指令碼犯錯
指令碼裡犯了錯 oracle it shell value 1 oracle it shell value 1 bash value command not found oracle it shell value 3 bash value command not found oracle it sh...