linux程序设计 李明,6016.Linux shell脚本编程规范(第1版)

Linux 系统区分英文字符的大小写。比如,myfile, Myfile 和 myFILE表示的是三个不同的文件。命名目录和命名文件的规则是相同的。除非有特别的原因,否则用户创建的文件和目录名要使用小写字符。大多数的 Linux 命令也使用小写字符。

1.1Linux 系统下的文件名长度最多可到256个字符。

1.2通常情况下,文件名的字符包括:字母、数字、"."(点)、"_"(下划线)和"-"(连字符)。Linux 允许在文件名中使用除上述符号之外的其它符号, 还有"?"(问号),"*"(星号), " "(空格), "$"(货币符), "&", 扩号等等。在文件名中应尽量避免使用这些字符。文件名中可以有" "(空格),但建议用户用"_"(下划线)来替代。例如:My_file。

1.3脚本文件名的命名,不能以数字开头,例如:1meeting。

1.4脚本文件名的命名,尽量使用英文单词、词组或短句的缩写,以方便管理脚本,起到见文生意的效果。例如:checklocalcpu.sh。

1.5由于脚本文件会被不断的完善,所以脚本可能会被添加新的功能或修改某些不足,我们定义脚本的格式如下:

脚本作用.主版本号.修改次数.shell类型

例如:sendfile.1.0.sh

Sendfile.1.0.sh这个文件名说明该脚本用于发送文件,主脚本号为1,即为原始功能的脚本,修改次数为0,即说明该脚本为原始版,未经过修改。脚本名称的变化随脚本修改而修改,演化如下。

Sendfile.1.0.sh à sendfile.1.10.sh àsendfile.2.0.sh

1.6为区别不同的脚本,在定义脚本名称的时候,给脚本加上相应的扩展名以区分不同脚本使用的shell。常用的shell类型有sh、bash、csh、ksh等。例如:monitorservice.1.0.sh(sh/bash脚本),monitorservice.1.0.csh,monitorhost.1.0.ksh。

在linux系统中,变量的种类有环境变量,本地变量,位置变量,特殊变量。通常在脚本当中我们根据变量的存活范围给予区分成两类,全局变量和局部变量。

2.1全局变量

全局变量,指变量在从定义开始,在整个脚本中都在具有普遍意义,变量的生命周期在变量定义时到脚本结束。

全局变量的命名遵循以下规则:

1.变量名可以由数字和字母组成;

2.使用Pascal命名法(所有单词第一个字母大写);

3.名字尽量不使用缩写,除非它是众所周知的;

4.名字可以有两个或三个单词组成,但通常不应多于三个。

5.不要使用下划线字符。

PathName,PATHNAME,Path_Name,pathname。以上四种变量名的命名方式,只有PathName是符合以上的定义。

2.2局部变量

局部变量,指变量在脚本代码中的部分代码片段有特定的意义,虽然它的生存周期也是从定义变量开始到脚本结束。局部变量在for…in…语句中最常用到。

全局变量的命名遵循以下规则:

1.变量名可以由数字和字母组成;

2.变量名采用全部英文字符小写的方式;

3.变量名称尽量使用缩写,最好不要超过6个字符。

2.3变量引用规范

在shell中,变量的引用,通常使用“$变量名”的方式进行引用。然而在脚本中,常常需要将变量值和字符串混合输出,结果导致输出的结果不符合实际的需求。因此统一定义对变量的引用采用以下的引用方式

${变量名},例如${port},${ipaddr}…

良好的脚本代码注释习惯可以大大增加脚本的可读性。为读懂脚本,修改脚本提供了快捷的途径。具体而言,脚本的代码注释应该写在哪个部分,怎么写。

脚本代码注释可以使用”#”和”;(分号)”两种方式进行注释。#一般用于描述性的注释,旨在说明代码的作用或怎么使用。而;通常用于示例性的注释,特别是在一些配置文件中常常会用到,因此我们沿用这两种方式来对我们的脚本进行注释。

在一个脚本的代码的开头部分我们一般会做一个描述性的注释,主要说明脚本的功能和作用。可以加上作者和联系方式以方便交流。对脚本的注释不宜每行每行都进行注释,这样使代码的结构显得特别凌乱。我们建议将脚本的功能进行模块化,然后对脚本各模块之前进么简要的注释。

Shell 中有四种三种引用符号,双引号、单引号和反引号,它们各有各的用途。shell脚本编程中,常常会遇到在同一个语句中需要引用字符(串),变量,命令执行结果或特殊字符时。由于没有正确使用引用符号而产生了一些莫名其妙的结果。为了解决这个问题,对引用符号的使用规定如下:

1、尽量少用单引号,对一个字符串需要进行多个特殊字符进行屏蔽特殊含义时才使用单引号;

2、对极个特殊字符进行屏蔽特殊含义时,使用\(反斜线)进行屏蔽;

3、使用单引号进行屏蔽字符时,单引号内一般不使用其它引用符号,除非是打印特殊符号本身;

4、使用反引号进行执行一个shell命令时,反引号内一般加其它引用符号,除非需要进行屏蔽特殊字符时才使用反斜线和单引号。

6、脚本函数定义规范

在shell脚本编程,通常把特定功能模块写成函数,可以在多个脚本中进行调用。为了区别变量名与函数名的不同。对函数名做以下定义:

1.变量名可以由数字和字母组成;

2.使用驼峰命名法(从第二个单词开始,每个单词首字母大写);

3.名字尽量不使用缩写,除非它是众所周知的;

4.名字可以有两个或三个单词组成,但通常不应多于三个。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值