1.4.3.1判斷型別
算術判斷
注意一點:[ ]中左邊 「[」 必須要有空格,然後再到比較值,後邊的比較值也要有空格再到 「]」
-eq 表示 判斷是否相等 ,示例如下
[ 2 –eq 2 ] ; echo $?
輸出:0
[ 2 –ne 2 ] 表示不等
[ 3 –gt 1 ] 表示 ⼤於
[ 3 –ge 3 ] 表示 ⼤於等於
[ 3 –lt 4 ] 表示 ⼩於
[ 3 –le 3 ] 表示 ⼩於等於
(())也可以表⽰算術⽐較。((10>=8)) ,((10==10))
字串判斷
❖[ string1 = string2 ] 如果兩字串相同,則結果為真
a="xiaoyu"
b="hello xiaoyu"
[ "$a" = "$b" ];echo $?
輸出:0
❖ [ string1 != string2 ] 如果兩字串不相同,則結果為真
❖ [ -n "$var" ] 如果字串不是空,則結果為真
示例:[ -n "$b" ];echo $? 輸出:0
❖ [ -z "$var" ] 如果字串是空,則結果為真
❖ [[ "***x" == x* ]] 在表示式中表⽰0或者多個字元
示例:[[ "$b" == h* ]];echo $? 表示b是以h開頭的字元
❖ [[ *** == x?? ]] 在表示式中表⽰單個字元
在引⽤變數的時候要記得加雙引號[ -z "$a"] 否則當a未定義時會語法報錯
邏輯判斷
-a 表示邏輯與
[ 2 -ge 1 -a 3 -ge 4 ];echo $?
&& 表示邏輯與(拓展語法中,就是雙括號)
[[ 2 -ge 1 && 3 -ge 4 ]];echo $?
-o 表示邏輯或
[ 2 -ge 1 -o 3 -ge 4 ];echo $?
|| 表示邏輯或(拓展語法中,就是雙括號)
[[ 2 -ge 1 || 3 -ge 4 ]];echo $?
!表示邏輯⾮
[ ! 2 -ge 1 ];echo $?
內建判斷
❖ -e fifile 如果⽂件存在,則結果為真
示例:[ -e "10.wx" ]; echo $? 輸出:0 (因為我當前目錄存在檔案10.wx)
❖ -d fifile 如果⽂件是⼀個⼦⽬錄,則結果為真
❖ -f fifile 如果⽂件是⼀個普通⽂件,則結果為真
❖ -r fifile 如果⽂件可讀,則結果為真
❖ -s fifile 如果⽂件的長度不為0,則結果為真
❖ -w fifile 如果⽂件可寫,則結果為真
❖ -x fifile 如果⽂件可執⾏,則結果為真
❖ 是的擴充套件語法,在⽼的sh⾥並不⽀持。推薦⽤
bash之字串型別
1.4.2 字串型別 字串下標預設從0開始 s 12345678912333 echo s 輸出 345678912333 echo 輸出 345678912333 表示從下標為2的字元開始輸出 echo 輸出 3456 表示從下標為2的字元開始輸出,並且只輸出4個字元 echo 輸出 14 表示輸...
BASH系列之四比較和判斷語句
分類 linux作業系統 2011 08 13 16 35 25人閱讀收藏 舉報 shell中的比較和判斷 一 比較 操作符比較操作 整數操作 字串操作 相同 eq 不同 nq 大於 gt 小於 lt 大於等於 ge 小於等於 le 為空 z 不為空 n 範例 1 比較整數a和b是否相等 if a ...
js 正則之 判斷密碼型別
今天沒啥寫的,就分享個思路吧。之前在群裡討論的時候,謝亮兄弟說判斷密碼是否是純數字,純字母之類的。如果用 if 或者 switch 寫看著確實蛋疼,如果有 7,8 條判斷,那就老長一大段了。這個思路是我之前看 jquery 原始碼的時候學到的,感覺用在這也不錯。先來看 吧。function test...