linux shell程式設計3 條件測試

2021-06-09 01:29:48 字數 1562 閱讀 4796

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用於計算條件表示式的值...