shell 腳本編程

bash: 弱類型語言

    變量類型:

        環境變量 , 本地變量(局部變量) , 位置變量 , 特殊變量

    

    1. 本地變量 : 只在當前進程中有效,父子 shell 不通用

            聲明方法 : Name = value

            引用方法 : $( Name )    括號可以省略

        局部變量 : 作用域爲當前代碼段

            聲明方法 : local Name = value

    2. 環境變量 : 作用域爲當前 shell 進程及其子進程

            聲明方法 :  Name= value

            引用方法 : export Name    (用戶定義變量時,都爲本地變量,export 可以將本地變量變成環境變量,從而使子進程可以引用)

    3. 特殊變量 :

            $? : 上一個命令執行狀態的返回值

        注: 程序執行後有兩種返回值,一種是程序執行的結果,一種是程序狀態的返回代碼(0-255).

            0 : 正確執行

            1-255 : 錯誤執行

            1,2,127 : 系統預留

    

    撤銷變量: unset Name

    查看環境變量 : env , printenv , export


    腳本:

            命令的堆砌,按照實際需要,結合命令流程機制,實現的源程序.Linux內核只能執行ELF格式的文件,但是我們寫的腳本是命令的堆砌,腳本格式屬於二進制 ASCII  所以在腳本文件的第一行,我們需要告訴內核,需要調用一個腳本解釋器,才能正常執行腳本.

    

    魔數: ( shebang )  #!/bin/bash


    腳本中常見的三種測試:

        1.條件測試

        2.字符測試

        3.文件測試

    

        1.條件測試: 根據命令的返回值來判斷命令執行是否成功,再結合邏輯符號來完成條件判斷

            1)條件測試的表達式:

            [ expression ] : [ ] 與表達式之間必須有擴號

            ` expression ` : ` ` 與表達式之間必須有擴號

            test expression


        2.整數測試:

            -eq : equal

            -ne : not equal

            -gt : great then

            -lt : less then

            -ge: great equal

            -le : less equal

            

        3.邏輯關係:

            與 : &&

            或 : ||

            非 : !


            4)單分支的 if 語句

            if 判斷條件; then

                statement1

                statement2

                ...

            fi


            5)多分支

            if 判斷條件; then

                statement1

                statement2

                ...

            elseif  statement

            fi


            6)算術運算

           Ⅰ  let 算數表達式  例: let c=$a+$b

            Ⅱ $[算術表達式]  例: c= $[$a+$b]

            Ⅲ $((算術表達式)) 例: c= $(($a+$b))

            Ⅳ expr 算數表達式  注意,表達式中各操作數及運算符之間要有空格,而且要使用命令引用 反引號

            例: c = ` expr $a + $b `


        3.文件測試

            -e File : exist  文件是否存在    [ -e File ]  注意: [ ] 同樣需要有空格

            -f File : file    是否爲普通文件

            -d File : directory     是否是目錄文件

            -r File : read    測試當前用戶對指定文件是否有讀權限

            -w File: write

            -x File: 執行

    

    定義腳本退出狀態碼: exit  如果沒有定義退出狀態碼,則最後一條命令的退出碼,即爲腳本的退出狀態碼

    測試腳本是否有語法錯誤:

            bash -n file

            bash -x file 單步執行



    位置變量 : 當腳本需要接受外部的參數時使用,$1 爲第一個參數 $2 爲第二個參數 ......

        在執行腳本時,將變量跟在腳本後,以空格隔開.


    特殊變量:

            $? : 

            $# :參數列表

            $@ : 參數列表

            shift : 輪替,當參數太多是,我們可以用shift來踢出一個或多個參數, shift  | shift  2

            

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