shell指令碼編程的一些好習慣

來源:互聯網
上載者:User

標籤:shell指令碼編程、編程風格、編程規範

shell指令碼編程的一些好習慣

1.命名規則

  指令碼命名以.sh結尾,名稱盡量見名之意。以下是幾種可供參考的指令碼命名風格。通過以下清新脫俗的風格,讀者能夠很easy的明白指令碼的作用。


        clearlog.sh         ClearLog.sh         clearSql.sh        snmp_install.sh        Monitor.sh


2.指令碼資訊

  為指令碼加入生動的資訊,比如指令碼功能的描述,作者,時間,版本資訊等。


    #!/bin/bash  #調用語言## Filename: log_receiver.sh# Description: LOG number write DB # Author:Karwai Wong # Email: [email protected]# Revision: 1.1# Date: 2046-04-06



3.代碼格式

  代碼格式統一簡潔,避免過於花哨。縮排格式要統一,一般使用四個空格作為一個縮排。為指令碼中內容加入適當的注釋也是一個良好的習慣。以下代碼是我建立的一個小指令碼,檔案名稱為newscript.sh,其功能是為新建立的檔案添加註釋資訊。這些資訊為指令碼的相關資訊。只要執行這個指令碼,就可以快速地為新指令檔添加註釋資訊。 
其執行方式可這樣:bash newscript.sh 新指令檔名

    #!/bin/bash                                                      # Filename:shell scripts standard    # Description:make shell scripts standard fastly       # Author:Karwai Wong     # Email: [email protected]    # Revision: 1.1    # Date: 2046-04-06         # function:make shell scripts standard for newfile    new_file_name=$1    if ! grep -q "#!" ${new_file_name};then    cat>>${new_file_name}<<EOF    #!/bin/bash      #      # Filename:     # Description:     # Author:    # Email:    # Revision:     # Date:    EOF    fi    # open text form  the 9 lines    vim +9 ${new_file_name}


4.編寫指令碼的一些注意事項

  養成良好的編程習慣,注重細節,追求極致,這是成為一個優秀的程式員的基本條件。以下是在下shell指令碼編程生涯的一些經驗之談,是關於shell指令碼一些tip,如有不妥之處,還請指出。

   

    1.調試功能。我把調試分為內部調試和外調試。        內部調試:在指令碼內部通過echo $?命令,判斷指令碼的執行狀態。        外部調試:            bash -n script 判斷指令碼文法是否正確            bash -x script 偵錯模式,輸出每一步的執行資訊    2.指令碼執行        1.建議在指令碼執行的開始重讀下/etc/profile檔案, 或者是自己定義的關於環境變數的設定檔,推薦使用source,如:             source /etc/profile             source /opt/sh/appenv.sh        2.在某些特殊的環境下,shell指令碼裡引用的命令,有可能是自己定義的bin路徑,在執行的時候會報出command not found,解決的方式是在執行命令時補全路徑。            export PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/apps/bin/     3.條件測試        條件測試的時候,盡量使用[[]],而不用[]或者test,因為[[]]功能會更強大。    4.與或非        可以使用&& || !來替代簡單的if-then-else-fi語句。這樣會使代碼看上去更加的簡潔。    5.函數功能        儘可能的使用函數的功能,將不同的功能定義為函數,下次使用時,直接引用函數。    6.記錄備份        關鍵的操作須有日誌輸出,專門記錄操作的成功或者失敗以及執行的時間點



本文出自 “To be a superman!” 部落格,轉載請與作者聯絡!

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.