亚洲欧洲国产欧美一区精品,激情五月亚洲色五月,最新精品国偷自产在线婷婷,欧美婷婷丁香五月天社区

      考試首頁 | 考試用書 | 培訓課程 | 模擬考場 | 考試論壇  
        當前位置:Linux認證 > 綜合輔導 > 文章內(nèi)容
        

      Linux綜合輔導教程(3)

       [ 2016年1月5日 ] 【

        shell程序控制結構語句

        腳本的控制結構語句有三種基本的類型:兩路分支、多路分支以及一個或多個命令的循環(huán)執(zhí)行。Linux的bash中的兩路分支語句是if語句,多路分支語句是if-elif和case語句;代碼的循環(huán)執(zhí)行語句是for、while和until語句。

        if語句

        兩路分支的if語句 格式:

        if 判斷條件

        then 命令1

        else 命令2

        Fi

        判斷條件包括命令語句和測試語句兩種方式:

        命令語句形式的判斷條件

        多路條件判斷分支的if語句

        格式為:

        if 判斷條件1

        then 命令1

        elif 判斷條件2

        then 命令2

        ……

        else 命令n

        Fi

        其中elif是else if的縮寫

        測試語句

        有兩種格式,一種是使用關鍵字test,而另一種是使用方括號。格式如下:

        test expression

        [ expression ]

        二者是等效的。同時要注意幾點

        用于三種形式的測試:文件測試、字符串測試和數(shù)值測試

        文件測試

        字符串測試

        數(shù)值測試

        用邏輯操作符進行組合的測試語句

        用邏輯操作符進行組合的測試語句實例

        [ ! "$s1" -le 0 ]

        ! test "$s1" -le 0

        [ -f "$s1" –a –w "$s1" ]

        test –f "$s1" -a –w "$s1"

        [ "$s1" –gt 0 –o "$s2" –lt 10 ]

        test "$s1" –gt 0 –o "$s2" –lt 10

        [ \( "$a" –gt 0 –a "$a" –lt 10 \) –a "$a" –ne 5 ]

        test \( "$a" –gt 0 –a "$a" –lt 10 \) –a "$a" –ne 5

        case語句

        對同一變量進行多次的測試,比elif語句更簡單、簡潔

        case string1 in

        str1)

        commands-list1;;

        str2)

        commands-list2;;

        ...

        strn)

        commands-listn;;

        esac

        使用case語句時應注意以下幾點

        (1) 每個正則表達式后面可有一條或多條命令,其最后一條命令必須以兩個分號(;;)結束。

        (2) 正則表達式中可以使用通配符。

        (3) 如果一個正則表達式是由多個模式組成,那么各模式之間應以豎線“|”隔開。表示各模式是“或”關系,即只要給定字符串與其中一個模式相配,就會執(zhí)行其后的命令表。

        使用case語句時應注意以下幾點

        (4) 各正則表達式是唯一的,不應重復出現(xiàn)。

        (5) case語句以關鍵字case開頭,以關鍵字esac結束。

        (6) case的退出(返回)值是整個結構中最后執(zhí)行的那個命令的退出值。若沒有執(zhí)行任何命令,則退出值為零。

        for語句

        格式:

        for variable [in argument-list]

        do

        command-list

        Done

        其中的[in argument-list]部分為可選項,由于它的不同又可有三種形式。

        [in argument-list]部分三種形式

        [argument-list]為變量值表

        變量variable依次取值表中各字符串

        [argument-list]為文件的表達式

        變量的值依次取當前目錄(或指定目錄)下與文件表達式相匹配的文件名,每取值一次,就進入循環(huán)體執(zhí)行命令表,直到所有匹配的文件名取完為止。

        [argument-list]為空

        [argument-list]也可以用$*來代替,變量依次取位置參數(shù)的值,然后執(zhí)行循環(huán)體中的命令表,直至所有位置參數(shù)取完為止。

        while語句

        格式為:

        while expression

        do

        command-list

        Done

        作用:只要expression的值為真,則進入循環(huán)體,執(zhí)行command-1ist中的命令,然后再做條件測試,直到測試條件為假時才終止while語句的行。

        until語句

        格式為:

        until expression

        do

        command-list

        done

        作用: 只要expression的值為假,就執(zhí)行command—lists的命令。

        break和continue語句

        break命令可以從循環(huán)體中退出來。格式為:

        break [n]

        continue命令跳過循環(huán)體中在它之后的語句,回到本層循環(huán)的開頭,進行下一次循環(huán)。格式為:

        continue [n]

        算術表達式

        五種基本的算術運算:+(加)、-(減)、\*(乘)、/(除)和%(取模)。shell只提供整數(shù)的運算。格式如下:

        expr n1運算符n2

        例:

        [expr 15 \* 15

        注意:在運算符的前后都留有空格,否則expr不對表達式進行計算,而直接輸出它們。

        自定義函數(shù)

        在shell腳本中可以定義并使用函數(shù)。其定義格式為:

        Function( )

        {

        command-list

        }

        函數(shù)應先定義,后使用。調(diào)用函數(shù)時,直接利用函數(shù)名調(diào)用。

      將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動訪問考試網(wǎng) | 復制本頁地址,傳給QQ/MSN上的好友 | 申請鏈接 | 意見留言 TOP
      關于本站  網(wǎng)站聲明  廣告服務  聯(lián)系方式  站內(nèi)導航  考試論壇
      Copyright © 2007-2013 中華考試網(wǎng)(Examw.com) All Rights Reserved