01-Shell 编程之规范

1、脚本规范

1.1、解释器选择

注意格式:其中开头的”#!”字符又称为幻数,在执行bash脚本的时候,内核会根据”#!”后的解释器来确定该用那个程序解释这个脚本中的内容。 例如:

1
2
3
4
5
6
[lepeng@centos ~]# head -1 /etc/init.d/*
==> /etc/init.d/functions <==
# -*-Shell-script-*-

==> /etc/init.d/netconsole <==
#!/bin/bash

1.2、编辑脚本 vim 模板

利用 .vimrc 文件,能够快速的生成开头的注释信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[lepeng@centos ~]# cat  ~/.vimrc
autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()"

func SetTitle()
if expand("%:e") == 'sh'
call setline(1,"#!/bin/bash")
call setline(2, "##############################################################")
call setline(3, "# File Name: ".expand("%"))
call setline(4, "# Version: V1.0")
call setline(5, "# Author: lp")
call setline(6, "# Organization: ")
call setline(7, "# Created Time : ".strftime("%F %T"))
call setline(8, "# Description:")
call setline(9, "##############################################################")
call setline(10, "")
endif
endfunc

使用后的效果

1
2
3
4
5
6
7
8
9
10
[lepeng@centos ~]# cat scripts_test.sh 
#!/bin/bash
##############################################################
# File Name: scripts_test.sh
# Version: V1.0
# Author: flp
# Organization:
# Created Time : 2019-10-21 11:39:57
# Description: First scripts file
##############################################################

1.3、文件名规范

名字要有意义,并且结尾以 .sh 结束

1.4、注释

1.4.1、单行注释

在Shell脚本中,# 后面的内容表示注释。

  • 注释部分不会被执行,仅给人看。
  • 注释可以自成一行,也可以跟在命令后面,与命令同行。
  • 要养成写注释的习惯,方便自己与他人。
  • 最好不用中文注释,因为在不同字符集的系统会出现乱码。(字符集zh_CN.UTF-8 为中文)。

1.4.1、批量注释

shell脚本中批量注释的方法

1
2
3
4
5
6
<<'EOF'
文件内容
EOF


使用 exit可以注释其之后的所有内容(类似注释,实质为不执行后面的内容)

1.5、开发的规范和习惯小结

  1. 放在统一的目录。
  2. 脚本以 .sh 为扩展名。
  3. 开头指定脚本解释器。
  4. 开头加版本版权等信息,可配置 ~/.vimrc 文件自动添加。
  5. 脚本不要用中文注释,尽量用英文注释。
  6. 代码书写优秀习惯
    1. 成对的内容一次性写出来,防止遗漏,如[]、''、"" 等。
    2. [ ] 两端要有空格,先输入[ ],退格,输入2个空格,再退格写。
    3. 流程控制语句一次书写完,再添加内容。(if 条件 ; then 内容;fi)
    4. 通过缩进让代码易读。
    5. 脚本中的引号都是英文状态下的引号,其他字符也是英文状态。

01-Shell 编程之规范
https://flepeng.github.io/021-Shell-01-Shell-编程之规范/
作者
Lepeng
发布于
2016年1月1日
许可协议