1. 基本語法
test condition
或[ condition ]
使用括號方式時,條件與括號之間要加空格。
2. 字串測試
字串測試是條件判斷中最重要的部分,
例:測試兩個字元是否相等。退出狀態變數 $?,0表示成功,1表示失敗。
if 命令就是使用該值做判斷。
[root@localhost ~]# [ "aa" = "bb" ]
[root@localhost ~]# echo $?
1if [ -x scores.txt ]; then echo 11111; fi;
字串測試可以使用以下條件表示式:
= 兩字串相等。
!= 兩字串不等。
-z 空串。
-n 非空串。
3. 測試檔案狀態
例:測試檔案 scores.txe 是否可執行。
[root@localhost ~]# [ -x scores.txt ]
[root@localhost ~]# echo $?
1
條件測試可以使用以下條件表示式:
-d 目錄
-f 文字檔案
-l 符號鏈結
-s 檔案非空
-r 可讀
-w 可寫
-x 可執行
-u 檔案有suid位設定
4. 數字測試
例:測試第乙個數字小於第二個數字。
[root@localhost ~]# [ "10" -lt "99" ]
[root@localhost ~]# echo $?
0
數字測試可以使用以下條件表示式:
-eq 相等。
-ne 不等
-gt 大於。
-ge 大於或等於。
-lt 小於。
-le 小於或等於。
4. expr數字運算
加法運算:expr 10 + 10
減法運算:expr 20 - 10
加法運算:expr 10 / 5
乘法運算:expr 10 \* 5
如果是非數字參加運算會報錯誤,利用吃點可以用來測試數字格式。
[root@localhost opt]# if expr a + 100; then echo aaaa; else echo bbbb; fi;
expr: non-numeric argument
bbbb
5. 兩個以上的條件之間的邏輯關係
[root@localhost opt]# [ -w results.txt -a -w scores.txt ]
[root@localhost opt]# echo $?
0
-a 邏輯與,兩個條件同時為0,結果為0。-o 邏輯或,只要乙個條件為0,結果為0。 Linux Shell(三) 條件判斷
str1 str2 當兩個串有相同內容 長度時為真 str1 str2 當串str1和str2不等時為真 n str1 當串的長度大於0時為真 串非空 z str1 當串的長度為0時為真 空串 str1 當串str1為非空時為真 int1 eq int2 兩數相等為真 int1 ne int2 兩數...
3 條件 迴圈
usr bin perl w use feature qw say 列印內容自動換行,不用手動加 n my var ifif var if else if var else if elsif 注意是elsif,不是elif,sv中也是elsif if var 10 elsif var 5 else ...
Bash程式設計3 條件語句 一
shell提供了一系列的條件測試來處理程式執行過程中的各種情況,並做進一步的操作。shell提供了一組測試運算子,通過這些運算子,shell程式能夠判斷條件是否成立。條件測試在各種流程控制語句,如判斷語句和迴圈語句中發揮著重要的作用。在shell中提供了兩個內建命令 和test用於計算條件表示式的值...