1
2
3
4
if*[*"a"*=*"a"*] // 空格用*標示
then
echo "a = a"
fi
最近幾天寫指令碼,遇到if語句時總是吃不準。這次總結一下。
使用if語句有2中方式,一種是使用test命令另一種是使用「」,其中後者比較常用。
方法一,使用test命令,這個命令返回乙個boolean值。
1
test -e /dataa || echo "不存在"
上面的例子使用了判斷語句的短路功能,即如果「||」前面是true的話,後面的語句就沒有必要執行了。所以不會顯示「不存在」。
引數:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
-e 通過檔名檔案是否存在
-f 通過檔名判斷是否是檔案
-d 通過檔名判斷是否為目錄
-eq 判斷兩個數值是否相等
-nq 判斷兩個數值是否不相等
-gt 判斷第乙個數值是否大於第二個數值
-lt 判斷第乙個數值是否小於第二個數值
-ge 判斷第乙個數值是否大於等於第二個數值
-le 判斷第乙個數值是否小於等於第二個數值
-z 判斷字串是否是空串
-n 判斷字串是否不是空串
= 判斷兩個字串是否相等
!=判斷兩個字串是否不相等
-a 相等於&&
-o 相當於||
! 邏輯非
方法二:
除test命令外,還可以使用「」,但是需要注意的是需要用空格在各個單位間,如:
1
2
3
4
if [ "a" = "a" ]
then
echo "a = a"
fi
在判斷的時候使用「==」或者是「=」都是可以的。其中「」中的變數最好用雙引號設定,常量用雙引號和單引號都行。
這種形式可能和test命令有關,對比下:
1
2
3
4
if test "a" = "a"
then
echo "a = a"
fi
下面的寫法也是可行的:
1
2
3
if test "a" = "a" ;then
echo "a = a"
fi
**
shell中的if語句
語法格式 if command then commands fi其中的command包含如下 shell command 任何shell命令,如果shell命令返回0,代表true,否則,代表false。並且多個command可以同時作為if的判斷條件,即可以寫為 if command1 comma...
shell 中的if語句
bash中如何實現條件判斷?條件測試型別 整數測試 字元測試 檔案測試 一 條件測試的表示式 expression 括號兩端必須要有空格 expression 括號兩端必須要有空格 test expression 組合測試條件 二 整數比較 命令間的邏輯關係 第乙個條件為假 第二個條件不用在判斷,最...
shell中的語句
for語句 別寫指令碼列印1 10 編寫指令碼檢視相同區域網內的1 10號ip是否工作並輸出可以工作的ip while語句 格式while 條件 編寫指令碼,每過10s輸出一次系統佔用率 執行指令碼 if語句 if 條件 then elif 條件 then elif 條件 then else 若不加...