linux shell 編程(二)

linux shell編程test語法的使用

test命令用於檢查某個條件是否成立,它可以進行數值、字符和文件三個方面的測試,其測試符和相應的功能分別如下:


一、數值測試:
-eq:等於則爲真
-ne:不等於則爲真
-gt:大於則爲真
-ge:大於等於則爲真
-lt:小於則爲真
-le:小於等於則爲真


二、字符串測試:
=:等於則爲真
!=:不相等則爲真
-z字符串:字符串長度爲0則爲真(空字符串)
-n字符串:字符串長度不爲0則爲真(非空字符串)


三、文件測試:
-e文件名:如果文件存在則爲真
-r文件名:如果文件存在且可讀則爲真
-w文件名:如果文件存在且可寫則爲真
-x文件名:如果文件存在且可執行則爲真
-s文件名:如果文件存在且至少有一個字符則爲真
-d文件名:如果文件存在且爲目錄則爲真
-f文件名:如果文件存在且爲普通文件則爲真
-c文件名:如果文件存在且爲字符型特殊文件則爲真
-b文件名:如果文件存在且爲塊特殊文件則爲真
另外,Linux還提供了與(“-a”)、或(“-o)、非(“”)三個邏輯操作符用於將測試條件連接起來,其優先級爲:“!”最高,“-a”次之,“-o”最低。

邏輯表達式
test 1 = 1

[ 2 \< 1 ]

[[ 2 < 3 && 4 > 5 ]]
三個表達式是等效的,所有字符和邏輯運算符直接用空格分開,不能連到一起

[]中,常見的>, <需要加上轉義字符,表示字符串的大小比較;不支持邏輯運算符 || &&,需要使用-o -a代替

[[]]運算符是[]的擴充,支持>,<且不需要轉義,表示字符串的大小比較;支持邏輯運算符|| &&

同時,bash也能完成簡單的算術運算,格式如下:
    $[expression]
例如:
    var1=2
    var2=$[var1*10+1](var1前面可能少了$符號)
則:
    var2的值爲21

轉自:http://c.biancheng.net/cpp/html/1500.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章