Shell代码规范[个人]

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Shell代码规范[个人]

前言:随着写的SHELL程序越来越多,发现自己每次写都有不同的习惯或者定义了不同的东西,变量名定义得不一样,整个程序缩进不统一,没有注释等问题,等我回过头看这些程序的时候发现很麻烦。所以想到写个自己的shell代码规范。

作者: Ajian

时间: 2009-02-19

文档名: Shell代码规范

版本: 1.0

用途: 规范Shell代码书写,方便查看与修改。

1 概述

1.1 目的

定义Shell脚本命名和编码规范,统一管理Shell脚本,便于自己和别人查看,提高代码书写速度和美观,暂时只对自己进行约束,其它人只供参考。

1.2 概述

本文主要根据Fedora Core 4.0的特点,描述安装脚本、OS初始脚本、补丁制作等方面的代码编写规范,可能大部分还是根据自己的习惯与反复思考后的结果,同样也参考了PHP

代码规范等。

1.3 开发工具

shell脚本是个文件,没有开发环境,FC4图形环境下,可用gedit、vi、vim、joe等,推荐使用vim因为这个最通用,他的功能同样是很强大,如果想在图形化下可以用gvim,并将环境设置为sh高亮显示,方法:1)cp /etc/vim/vimrc ~/.vimrc 2) vim ~/.vimrc 去掉”syntax on,并且;Windows下,可用ultraedit。文件保存时,有汉字提示的Shell脚本文件,文件保存时,字符编码必须为GB18030/GBK/GB2132 (UTF-8) 三种格式之一。

2 对象命名规范

2.1 命名约定

1.本文档的命名约定是系统配置文件、脚本文件;

2.文件名、变量名、函数名不超过20个字符;

3.命名只能使用英文字母,数字和下划线,只有一个英文单词时使用全拼,有多个单词时,使用下划线分隔,长度较长时,可以取单词前3~4个字母。

4.文件名全部以小写命名,不能大小写混用(通过U盘交换文件时,大小写可能会丢失,即:大写文件名可能会全部变成小写文件名);

5.避免使用Linux的保留字如true、关键字如PWD等(见附表);

6.从配置文件导出配置时,要注意过滤空行和注释

2.2代码开头约定

1、第一行一般为调用使用的语言

2、下面要有这个程序名,避免更改文件名为无法找到正确的文件

3、版本号

4、更改后的时间

5、作者相关信息

6、该程序的作用,及注意事项

7、版权与是否开放共享GNU说明

8、最后是各版本的更新简要说明

如下面的例子:

#!/bin/bash

#

------------------------------------------------------------------------------- # Filename: check_mem.sh

# Revision: 1.1

# Date: 2009/02/10

# Author: Ajian

# Email: ajian521#

# Website:

# Description: Plugin to monitor the memory of the system

# Notes: This plugin uses the "" command

#

------------------------------------------------------------------------------- # Copyright: 2009 (c) Ajian

# License: GPL

#

# This program is free software; you can redistribute it and/or

# modify it under the terms of the GNU General Public License

# as published by the Free Software Foundation; either version 2

# of the License, or (at your option) any later version.

#

# This program is distributed in the hope that it will be useful,

# but WITHOUT ANY WARRANTY; without even the implied warranty

# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

# GNU General Public License for more details.

#

# you should have received a copy of the GNU General Public License

# along with this program (or with Nagios);

#

# Credits go to Ethan Galstad for coding Nagios

# If any changes are made to this script, please mail me a copy of the changes #

------------------------------------------------------------------------------- #Version 1.0

#The first one , can monitor the system memory

#Version 1.1

#Modify the method of the script ,more fast

2.3 缩进

由于Shell没有很好的编辑环境,所以,建议用四个空格为基数进行缩进,好处在不同的环境下TAB可能代表的空格数不同,造成代码的错乱。用TAB他的优点是速度快方便,可以在编辑的时候也用TAB,但需要转换。

可以在更改编辑器,Windows的就不说了,主要是VIM

:set softtabstop=4

注意不要使用 :set tabstop=4 上面那个是同时把这一个TAB转换为四个空格,而这一条是定义TAB为四个空格,如果到其它编辑器上就会看到默认8个空格的情况,那就会不美观了。

另外将原有的TAB转换为空格,:retab

如果想让刚才的配置永久生效需要改动vim的配置文件 vim ~/.vimrc,更多详细的有用的配置见“VIM配置总结”

2.4 页宽

每行不要超过80字,如果超出,建议用“\”折行,有管道的命令行除外。

2.5 环境变量

变量:全部是大写字母

相关文档
最新文档