linux shell 程式設計(二)

2021-07-15 02:17:54 字數 1168 閱讀 5772

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程式。除第一行外,以 開頭的行就是注釋行,直到此行的結束。如果一行未完成,可以在行尾加上 這個符號表明下一行與此行會合併為同一行。有環境變...