跟鳥哥學Linux之——shell script

來源:互聯網
上載者:User

標籤:linux   shell   指令碼   結構   編程   

    從程式員的角度來看,Shell本身是一種用C語言編寫的程式,從使用者的角度來看,Shell是使用者與Linux作業系統溝通的橋樑。使用者既可以輸入命令執行,又可以利用 Shell指令碼編程,完成更加複雜的操作。在系統管理等領域,Shell編程起著不可忽視的作用。前期我對shell編程做了一個初步的認識,現總結如下;

思維導圖:

 

知識分為了兩部分:

基本知識:

    在基本知識中我將其分為了:執行方法、運算式、變數和判斷式四部分。1、執行方法就是在Linux中shell檔案執行的命令,用的多了自然會沒有問題。2、對於運算其中講解了(()),基本語句為變數=$((運算式)),其中關於得到的結果也常常運用於作為語句的判斷依據,它會得到一個返回值,即變數$?它的值為0表示語句的執行成功,非0表示語句的執行失敗。Declare 用於聲明一個變數,後面可以指明變數類型,例如:-i。同樣let也可以給變數賦予相應的值,通過運算式得到。3、對於變數其中返回值$?前邊已經提過了,對於預設的變數$#,這些預設變數一般用於每一行中依據某一標準而形成的各個欄位的表示。前期部落格中在檔案排版中曾提到過。4、判斷式有test做測試功能,它可以檢測系統檔案的相關屬性,一個很有用處的命令,後面可以接很多的參數,相關的參數要學會利用—help 或man page來查詢和學習。還有就是[ ]的相關用法了,對於[ ]用來做一些運算式的判斷,對於判斷式的結果,它同樣會得到一個返回值,所以也會作為語句中的一個判斷依據來執行一些相關的操作。

 

編寫文法:

    看到這裡和前期學習C語言和VB語言有很多的相似之處,但也存在有很多不同之處,下邊在總結中來看他們的用法。

條件判斷語句;    If…then語句:

    if後接一個判斷條件,then後接上要執行的語句,同樣結構也可拓展為如下:

        if 條件then

            執行語句

        elif條件then

            執行語句

        else

            執行語句

        fi

    case…esac語句:

    功能類似於C中的switch語句。具體的結構如下:

        case$變數名 in

            第一個變數名)

                執行語句

            ;;

            第二個變數名)

                執行語句

            ;;

            *)

                其他情況執行語句

                ;;

           esac

 

函數

    函數功能,這和前期學習中的函數功能相同。但結構上是有差別的,如下:

        Function函數名(){

           函數體

        }

 

迴圈語句:    while/untildo done

    其實while dodone語句和until do done語句是相似的都是不定次數的迴圈,只是給定條件而已,vb中接觸過的,結構如下:

        while/until [判斷式]

        do

            執行語句

        done

    不同的是while在判斷式不成立時終止迴圈,而until是在條件成立時終止迴圈。

 

    For…do…done

    這個迴圈不同與前兩個的是迴圈次數是已知的,結構如下:

        For變數 in 內容1 內容2 …

        Do

            執行語句

        Done

    在迴圈的過程中依次將內容n的值賦予變數來執行下邊的語句,當然內容的表示也是可以有別的方式的,否則變數多了就難以表示,例如用(seq 1 100)表示1到100。

    另一種結構方式如下:

        For((初始值;限制值;執行步長))

        Do

            執行語句

        Done

    這就和我們在C和VB語句中接觸的for迴圈結構更加相似了。

  

總述:

    至此時我對shell script一個初步認識的總結,後期還要繼續學習shell的編程,檔案的編程,串口編程,進程和線程編程的相關知識和運用,和硬體慢慢結合起來做一些相關處理和操作,後邊的路還很長,要學的東西也很多,期待著那一份願景,能夠用自己所學的知識去回報社會,為更多的人服務,走向社會上在有需求的地方能夠力所能及的貢獻自己的那一份力量是一件幸福的事,我相信未來會有一個屬於我的地方來造福於他人!!

跟鳥哥學Linux之——shell script

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.