#!/bin/bash
#Date :写作时间 2016-11-22 15:04:12 ##date "+%Y-%m-%d %H:%M:%S"
#Author :作者
#Mail :邮箱 [email protected]
#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_{模块名}.sh和stop_{模块名}.sh
3) 监控脚本可以以 *_mom.sh 为后缀,控制脚本以 *_ctl.sh为后缀
4) 模块命名应以代表其特性和功能,不要使用个人名字缩写等形式
5) 模块中的脚本和二进制程序命名禁止和其他脚本和二进制程序重名
临时文件命名
尽量避免临时文件,如一定要用,请使用PID做后缀,并在脚本结束后清除。
6.1.3 代码风格规范
代码框架
1) 脚本开头解释器声明为 #!/bin/bash 或 #!/bin/sh ,尽量统一
2) 配置文件及函数脚本等的引用如, source conf/httpd.conf
3) 主脚本过程只实现程序主干,功能实现尽量封装在子函数中。
4) 对于能独立执行的脚本要有usage和version函数,可以输出用法和版本信息。
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" 调整下字符集
原文地址:http://blog.51cto.com/xianlei/2088003