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
**:
linux shell程式設計 二
條件選擇 if then 語句 if command then commands fi另一種形式 if command then commands fi關於退出狀態碼,你只需要記住 正常退出 命令執行正常 的狀態碼是0,非正常退出的狀態碼不是0 有不少 以上語句的語義為 如果if後面的命令執行正常 ...
Linux Shell 程式設計學習(二)
case多選結構 基本結構 case word in case 1 command 1 case 2 command 2 case 3 command 3 case n command n esac 乙個demo while 迴圈 while test commands do command sel...
linux shell 程式設計
bin bash comments your commands go here 首行中的符號 告訴系統其後路徑所指定的程式bash即是解釋此指令碼檔案的shell程式。除第一行外,以 開頭的行就是注釋行,直到此行的結束。如果一行未完成,可以在行尾加上 這個符號表明下一行與此行會合併為同一行。有環境變...