shell腳本(iftest語句)

shell腳本(iftest語句)

ID:8804869

大小:32.00 KB

頁數(shù):4頁

時間:2018-04-08

shell腳本(iftest語句)_第1頁
shell腳本(iftest語句)_第2頁
shell腳本(iftest語句)_第3頁
shell腳本(iftest語句)_第4頁
資源描述:

《shell腳本(iftest語句)》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在應用文檔-天天文庫。

1、————————————————————————————————test命令語法:testexpression或者[expression]test命令對表達式進行評估,并且設置返回值。表達式的值  返回值true      0false     非零(通常為1)test命令能夠評估的對象有:整數(shù)字符串文件test命令被用來評估表達式并且產(chǎn)生返回值。它用參數(shù)組成邏輯表達式并且對表達式進行評估。test命令不會產(chǎn)生標準輸出,你必須必須通過返回值來判斷test命令的結(jié)果。如果表達式為真,返回值會為0,如果表達式為假,返回值為1。test命令可以被單獨使用,

2、然后你能夠看到返回值,但它用的最多的還是在if和while結(jié)構(gòu)中,用來提供條件流程控制。test命令的也可以用[expression]來代替。這對提高可讀性有幫助,特別是在處理數(shù)字或者字符串的時候。注意:在"["和"]"符號的周圍必須要有空格。test命令之數(shù)字test語法:[numberrelationnumber]   通過關系運算符來對數(shù)字進行比較關系運算符:-lt   ??小于-le   小于或者等于-gt   ??大于-ge   大于或者等于-eq   等于-ne   不等于例子(假設X=3):$["$X"-lt7]   $["$X"-gt

3、7]$echo$?    $echo$?0         1test命令能被用于比較兩個整數(shù)之間的數(shù)字關系。通常用[.....]語法來調(diào)用。test命令的返回值就能說明這個條件為真還是為假。當testing一個變量的值的時候,你應該防止變量不要為空值,例如:$[$XX-eq3]sh:test:argumentexpected如果變量XX在前面沒有被賦值,XX的值會是NULL。當shell執(zhí)行變量替代的時候,shell會試圖執(zhí)行如下語句:[-eg3]而這個語句不是一個完整的test語句,并且會導致一個語法錯誤。解決這個問題的一個簡單的方法就是在被測試

4、的變量的周圍加上引號。["$XX"-eq3]當shell執(zhí)行變量替代的時候,shell會試圖執(zhí)行如下語句:[""-eq3]這會確保至少有一個NULL值作為一個參數(shù)提供給這個test命令使用。注意:作為一個通用的規(guī)則,你應該在所有的$變量加上雙引號來避免shell進行不正確的變量的替代。test命令之字符串test語法:[string1=string2]判斷字符串是否相等[string1!=string2]判斷字符串是否不等例子;$X=abc         $X=abc$["$X"="abc"]    ??????$["$X" !="abc"]$ec

5、ho$?        $echo$?0            1test命令也能夠用來計較兩個字符串是否相等。[...]語法通常用作字符串的比較。你已經(jīng)看到在[]周圍必須要有空格,同時在操作符周圍也必須要有空格存在。字符串操作包括:string1=string2    ??如果string1等于string2就為真string1!=string2   ????如果string1不等于string2就為真-zstring        如果string的長度為0就為真-nstring        如果string的長度為非零就為真string   

6、      如果string的長度為非零就為真如果變量中包含空白字符,在這里引號同樣也能夠保護字符串的test,,例如:$X="yeswewill"$[$X=yes]   會導致一個語法錯誤shell會解釋這個語法為[yeswewill=yes]$["$x"=yes] 正確的語法shell會解釋這個語法為:["yeswewill"=yes]在執(zhí)行數(shù)字比較的時候,shell會將所有的參數(shù)當成是數(shù)字;在執(zhí)行字符串比較的時候,shell會把所有的參數(shù)當成是字符串。如下例所示:$X=03$Y=3$["$X"-eq"$Y"]   比較數(shù)字03和數(shù)字3$echo

7、$?0            為真-它們是相等的數(shù)字$["$X"="$Y"]    比較字符串“03”和字符串“3”$echo$?1            為假-它們是不相同的字符串test命令-文件比較語法:test-optionfilename   通過選項對文件進行test例子:$test-ffunfile$echo$?0$test-dfunfile$echo$?1shell提供的一個有用的test特性是可以用它來test文件的特征,例如文件類型和許可權(quán)限。例如:$test-ffilename如果文件存在并且是一個普通文件(不是目錄或者設備文件

8、),會返回真(0)。test-sfilename如果文件存在并且其字節(jié)數(shù)大于0,會返回真(0)。其它還有許多

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。