- #!/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_{模块名}.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://www.bubuko.com/infodetail-2530374.html