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: xxxx@jiecao.com
    # Revision: 1.1
    # Date: 2046-04-06

3.代碼格式

  代碼格式統一簡潔,避免過于花哨??s進格式要統一,一般使用四個空格作為一個縮進。為腳本中內容加入適當的注釋也是一個良好的習慣。以下代碼是我創建的一個小腳本,文件名為newscript.sh,其功能是為新創建的文件添加注釋信息。這些信息為腳本的相關信息。只要執行這個腳本,就可以快速地為新腳本文件添加注釋信息。 
其執行方式可這樣:bash newscript.sh 新腳本文件名

    #!/bin/bash                                                  
    # Filename:shell scripts standard
    # Description:make shell scripts standard fastly   
    # Author:Karwai Wong 
    # Email: xxxx@jiecao.com
    # 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.日志備份
        關鍵的操作須有日志輸出,專門記錄操作的成功或者失敗以及執行的時間點
    

原創文章,作者:PowerMichael,如若轉載,請注明出處:http://www.www58058.com/73321

(2)
PowerMichaelPowerMichael
上一篇 2017-04-14 21:53
下一篇 2017-04-15

相關推薦

  • 使用fail2ban防止暴力破解ssh及vsftpd密碼

    此文介紹一個linux下通過監控日志防止密碼被暴力破解的軟件-fail2ban。fail2ban支持常用的服務,如sshd, apache, qmail, proftpd, sasl, asterisk等的密碼驗證保護,當發現暴力破解的跡像時,可以通過iptables, tcp-wrapper, shorewall等方式阻止此IP的訪問。 python安裝 …

    Linux干貨 2015-03-04
  • 第六次上課作業

    1、三種權限rwx對文件和目錄的不同意義 對文件 r:read  可讀取此文件的實際內容,如讀取文本文件的文字內容等 w: write  可以編輯,新增或修改該文件的內容 x:execute  該文件具有可以被系統執行的權限==>>針對二進制文件或腳本 X:針對目錄會加上x權限…

    Linux干貨 2016-08-04
  • N25 _WSH 第二周

    2、bash 命令執行的狀態結果:        * bash通過狀態返回值來輸出此結果:            * 成功:0            失?。?-255     &n…

    系統運維 2016-12-12
  • 文本編輯工具Sed

                    Stream EDitor, 行編輯器         sed是一種流編輯器,它一次處理一行內容。處理時,一次性的先把文件讀入內存中,并且開辟一塊內存空間,該內存空間稱為“模式空間”(pa…

    Linux干貨 2016-08-10
  • grep&正則表達式

    grep&正則表達式 grep(global search regular expression(RE) and print out the line,全面搜索正則表達式并把行打印出來)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,并把匹配的行打印出來。 語法 grep [選項]… PATTERN [FILE]… 選項 -a 不要忽略…

    Linux干貨 2018-03-23
  • ip命令詳解

      Linux中的ip命令功能強大,可以完成接口配置、路由管理等任務。   格式:ip [ OPTIONS ] OBJECT { COMMAND | help }   下面使用ip命令來完成一些常用的操作:     1、查看接口狀態       ip link show [設備名…

    Linux干貨 2016-01-14

評論列表(2條)

  • renjin
    renjin 2017-04-21 10:18

    主要介紹了shell腳本的一些的好習慣,包括命令規則、腳本信息、代碼格式、注意事項等等,內容寫的很不錯,排版也很好,加油、加油!

    • PowerMichael
      PowerMichael 2017-04-25 20:40

      @renjin好的,好好學習,天天向上。

欧美性久久久久