Shell入门-Shell脚本开发规范

Shell脚本开发规范

Shell脚本开发规范及习惯非常重要,有了好的规范和习惯,才能大大提升开发效率,降低后期的脚本维护成本,特别是在多人协作开发时,有一个互相遵守的规范显得特别重要。即使是自己一个人独自开发,也要采取一套科学的、固定的规范,这样脚本才更易读,易于后期维护。总之,就是要让自己养成一个一出手就是专业和规范的习惯。

Shell脚本变量命名及引用变量规范

1.全局变量定义

全局变量也称环境变量,它的定义应全部大写,如APACHE_ERR或APACHEERR,名字对应的语义要尽量清晰,能够正确表达变量内容的含义,对于过长的英文单词可用前几个字符代替。多个单词间可用“_”号连接,全局变量的定义一般放在系统的全局路径中,并且最好采用export来定义,全局变量一般可以在任意子Shell中直接使用(特殊情况除外,例如:定时任务执行Shell时就最好在Shell里重新定义这些全局变量,否则可能会出现问题)。

2.局部变量定义

局部变量也称为普通变量,在常规脚本中,普通变量的命名也要尽可能统一,可以使用驼峰语法,即第二个单词的首字母大写,如oldboyTraining,或者每个单词首字母大写,如CheckUrl,当然也有网友喜欢采用全部大写或全部小写的方式,例如:CHECK、check。

Shell函数中的变量可以使用local方式进行定义,使之只在本函数作用域内有效,防止函数中的变量名称与外部程序中的变量相同,从而造成程序异常

3.变量的引用规范

在引用变量时,若变量前后都有字符,则需要使用${APACHE_ERR}(加大括号的方式)引用变量,以防止产生歧义;当变量内容为字符串时,需要使用"${APACHE_ERR}"(外面加双引号的方式)引用变量;当变量内容为整数时,则最好直接使用$APACHE_ERR来引用变量。全局变量、局部变量、函数变量、数组变量等都是如此。

说明:对于需要环境变量的Java程序脚本等,在写脚本之前,最好通过export重新声明环境变量,以免在定时任务等场合的使用中出现问题。

Shell函数的命名及函数定义规范

Shell函数的命名可采用单词首字母大写的形式,如CreateFile(),并且语义要清晰,比如,使用CreateFile()代替CFile(),也可以使用小写形式,如createfile()。

可以加前后缀,如后缀为Max则为最大值,为Min则表示最小值,前缀Is为判断型函数,Get为取值函数,Do则为处理函数,这也有益于对函数功能的理解,使函数名更直观、更清晰。

Shell脚本(模块)高级命名规范

1)常规Shell脚本使用统一的后缀:.sh,例如oldboy.sh。

2)模块的启动和停止脚本统一命名为start_模块名.sh和stop_模块名.sh

3)监控脚本通常以*_mon.sh为后缀。

4)控制脚本一般以*_ctl.sh为后缀。

猜你喜欢

转载自blog.csdn.net/weixin_43169156/article/details/114883158