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.代码格式

  代码格式统一简洁,避免过于花哨。缩进格式要统一,一般使用四个空格作为一个缩进。为脚本中内容加入适当的注释也是一个良好的习惯。以下代码是我创建的一个小脚本,文件名为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.178linux.com/73321

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

相关推荐

  • varnish 缓存服务器配置与使用

    varnish 缓存服务器配置与使用 一、cache 1.缓存为什么会存在? 一个快的设备要想和慢的设备交互,只有一种办法就是让快的设备工作在慢的设备的频段上!这样的话就浪费了,我们可以在两者之间加上一个加速器,这个加速器就叫做缓存! CPU要读取一个数据时,首先从Cache中查找,如果找到就立即读取并送给CPU处理;如果没有找到,就用相对慢的速度从内存中读…

    2016-11-13
  • 对inode的初步理解

    1.什么是inode?     inode中文译作”索引节点“,是linux操作系统中的一种数据结构,用来存储文件的元数据信息。在linux系统中每个文件都会分配一个inode,我们也可以把inode看作指针,它永远指向文件的具体存储位置。 2.inode中包含了什么信息? * inode 编号 * 用来识别文件类型,以及用于 …

    2017-07-18
  • 设计模式 ( 十七) 状态模式State(对象行为型)

    设计模式 ( 十七) 状态模式State(对象行为型) 1.概述 在软件开发过程中,应用程序可能会根据不同的情况作出不同的处理。最直接的解决方案是将这些所有可能发生的情况全都考虑到。然后使用if… ellse语句来做状态判断来进行不同情况的处理。但是对复杂状态的判断就显得“力不从心了”。随着增加新的状态或者修改一个状体(if else(或swit…

    Linux干货 2015-07-27
  • sed使用方法

      sed编辑器被称作流编辑器(stream editor)。流编辑器在处理数据之前基于预先提供的一组规则来编辑数据流。 一、命令格式   sed options '"地址""编辑命令"' file   常用选项:     -n:静默模式,不显示模式…

    Linux干货 2015-12-28
  • 文本三剑客之AWK

    文本三剑客—-awk(3) awk简介 awk是一个强大的文本分析工具,与grep(查找)、sed(编辑)一并称为“文本处理三剑客”。awk最强大的功能是对数据分析并生成报告。 awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk是AWK的GNU版本。 awk其名称得自于它的创始人 Alfred Aho 、P…

    2017-07-17
  • 优云Automation:实现IT服务弹性伸缩的利器

    随着互联网业务快速持续增长,IT资源使用量按需变化成为常态,这就要求信息部门能快速响应资源使用的变化要求,对运维提出不小挑战。比如电商、在线教育等企业经常推出一些秒杀、抢红包活动,在特定时间段对资源的利用处于高峰期,之后基本处于空闲。 几年前,我们从申请采购到应用部署上线都只能人工操作,需要提前几个月开始规划。如今通过云平台能很好实现资源按需动态管理,运维人…

    系统运维 2017-03-15

评论列表(2条)

  • renjin
    renjin 2017-04-21 10:18

    主要介绍了shell脚本的一些的好习惯,包括命令规则、脚本信息、代码格式、注意事项等等,内容写的很不错,排版也很好,加油、加油!

    • PowerMichael
      PowerMichael 2017-04-25 20:40

      @renjin好的,好好学习,天天向上。