shell編程(轉三呼的一篇文章)

來源:互聯網
上載者:User
武漢大學國際軟體學院 2010級國際2班 李三乎        好久沒寫日誌了,今天寫一個。

        對於一種新的語言的學習,最近感覺書上還是很經典的,雖然從標識符開始講很讓人不爽,但是現在發現要想快速掌握一門語言的話按照書上的結構還是很正確的。當然只是說書上的結構,內容有的還是偏容易。        對於shell編程,先說下變數的聲名,跟javascript一樣,不用聲名,直接使用,賦值就行了。變數的使用有以下幾種方式:1.$varname 2.${varname}。第二種主要是為了一種特殊情況,比如想列印2nd這個2是儲存在變數two裡的,但是和nd串連在一起了,第一種就不能用了,用第二種。        再看shell的資料類型有哪些,只有一種字串類型。        shell編程每條語句的分割符:換行或是分號,其中大括弧可以把幾條用分號隔開的語句作為一個整體,即語句塊。        shell編程是面向過程的編程,而不是物件導向的,所以要考慮函數的聲明和使用。格式
functionname(){# inside the body $1 is the first argument given to the function# $2 the second ...body}

        使用的時候直接使用functionname就行,不需要括弧,如果有參數的話函式宣告和使用也都不用括弧,直接在語句分割符之前在後面用空格分割每個參數就好。有一點要注意,shell必需是先聲明後使用,像C,C++一樣,跟java那種物件導向的不一樣。        一個程式功能過程中,只有以下幾種語句的可能:普通語句,迴圈語句,條件分支語句。        shell裡的普通語句:上邊講的差不多了。        迴圈語句:while 運算式 ;do迴圈體donefor 變數名 in 運算式1 運算式2 運算式3 ……  ;do迴圈體done        條件分支語句:        我的理解,這個分為條件陳述式和分支語句,當然,這兩個本質上是一個東西。條件陳述式:if ....; then....elif ....; then....else....fi        用老師的話說這個fi是屬於惡搞弄的,呵呵 if fi包括下邊的case esac程式員的惡搞。case ... in...) do something here ;;esac        這個是分支語句。        對於任何一種過程化的語言,應該可以按照以上的步驟速成,第一步搞明白變數的聲明,使用,類型,每種類型的特殊之處,就比如shell中的字串類型,特殊點有很多,比如用雙引號和單引號的不同,有沒有逸出字元啊,萬用字元之類的。        第二步,函數的聲明及使用方法,這個是過程化語言幾乎是最重要的一點了。        第三步,流程式控制制語句即條件分支語句和迴圈語句的使用方法,格式。        當然這隻是一個架構,每一種的特殊之處要查書,遇到了再查也一樣。        也要學會使用別人寫好的函數,要能看懂別人寫的文檔,知道如何輸入參數,獲得輸出,函數是幹什麼的。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.