码迷,mamicode.com
首页 > 系统相关 > 详细

shell脚本规范格式

时间:2018-03-18 00:16:21      阅读:4207      评论:0      收藏:0      [点我收藏+]

标签:shell脚本规范格式   linux   shell   shell脚本格式   

#!/bin/bash

#Date   :写作时间 2016-11-22 15:04:12 ##date "+%Y-%m-%d %H:%M:%S"

#Author      :作者

#Mail    :邮箱 jorbabe@163.com

#Function   :脚本介绍

#Version     :版本 V1.1

#Update           :脚本修改更新时间

 

6.1.1      版本和运行参数:

1) 脚本开发前,在脚本的开头以注释形式标清脚本版本号

2) 为脚本添加必须的运行参数,如:-v 显示版本号; -h显示帮助;

6.1.2      命名规范

变量命名:

1) 变量命名要统一,使用全部大写字母或驼峰语法

2) 避免无含义字符或数字

3) 全局变量和局部变量命名规则

全局变量使用{ },例如${JORBABE_HOME}” ${JORBABE_HOME}”

4) 变量合并:变量或配置需要组合才有意义时,建议合并一起赋值给一个新的变量

5) 变量定义总结,多学习模仿系统自带的/etc/init.d/functons 函数库脚本定义思路

函数命名:

1)      函数命名使用单词首字母大写,也可以使用驼峰语法

2)      可以添加前后缀

3)      单词使用缩写时,也使用首字母大写

4)      名字尽量不使用缩写,除非他与众不同

5)      名字可以两个或三个单词组成,但是通常不应多余三个

脚本(模块)命名:

1)      常规shell脚本使用统一后缀:“.sh ,例如:jorbabe.sh

2)      模块的启停脚本统一命名为start_{模块名}.shstop_{模块名}.sh

3)      监控脚本可以以 *_mom.sh 为后缀,控制脚本以 *_ctl.sh为后缀

4)      模块命名应以代表其特性和功能,不要使用个人名字缩写等形式

5)      模块中的脚本和二进制程序命名禁止和其他脚本和二进制程序重名

临时文件命名

         尽量避免临时文件,如一定要用,请使用PID做后缀,并在脚本结束后清除。

6.1.3      代码风格规范

         代码框架

1)      脚本开头解释器声明为 #!/bin/bash #!/bin/sh ,尽量统一

2)      配置文件及函数脚本等的引用如, source conf/httpd.conf

3)      主脚本过程只实现程序主干,功能实现尽量封装在子函数中。

4)      对于能独立执行的脚本要有usageversion函数,可以输出用法和版本信息。

5)      规范代码树。

函数规范

1)      函数定义时在函数前加上 function 保留字,/etc/init.d/functions 中没有这样做。

2)      显示函数返回值,在函数结尾显示包含 return 语句,并跟上返回值。

条件语句与循环

1)      在使用条件语句及循环时,尽量使用统一格式,而不是使用“;”分隔

2)      尽量一行一条语句,而不是使用“;”将多个语句隔开。尽可能多的判断操作是否成功,并做响应的处理。

3)      使用简单语句,避免多重管道的命令。

4)      脚本中的 grep cut awk sed 等命令的多重过滤语句应考虑进行简化。

6.1.4      注释规范

文件模块注释:说明用途,版本输入输出文件,依赖工具及其版本信息,前后流程脚本(可选),格式统一。

重要函数注释:说明函数用途,参数,返回值,作者,版本。

养成写注释习惯:注释要详细,包含变量定义,函数定义,返回值定义,每步操作目的,注释尽量使用标准的英文。

提示:    注释尽量少用中文注释,以免运行环境改变后,中文变乱码。

                  非要用可以在脚本中定义 export LANG="zh_CN GB18030" 调整下字符集


shell脚本规范格式

标签:shell脚本规范格式   linux   shell   shell脚本格式   

原文地址:http://blog.51cto.com/xianlei/2088003

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!