Shell脚本书写需要注意哪些?

    /    2019-01-25

1. 脚本统一存放目录

[root@oldboy ~]# mkdir -p /server/scripts/
[root@oldboy ~]# cd /server/scripts/

2. 选择解释器

注意格式:

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

[root@oldboy scripts]# head -1 /etc/init.d/*
==> /etc/init.d/functions <==# -*-Shell-script-*-
==> /etc/init.d/netconsole <==#!/bin/bash
==> /etc/init.d/network <==#! /bin/bash

3. 编辑脚本使用vim

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

[root@oldboy scripts]# 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: oldboy")
        call setline(6, "# Organization: https://blog.oldboyedu.com")
        call setline(7, "# Created Time : ".strftime("%F %T"))
        call setline(8, "# Description:")
        call setline(9, "##############################################################")
        call setline(10, "")
    endif
endfunc

使用后的效果

[root@oldboy scripts]# cat  scripts_test.sh 
#!/bin/bash
##############################################################
# File Name: scripts_test.sh
# Version: V1.0
# Author: oldboy
# Organization: https://blog.oldboyedu.com
# Created Time : 2017-12-04 11:39:57
# Description:  First scripts file
##############################################################

在Shell脚本中,跟在#后面的内容表示注释。注释部分不会被执行,仅给人看。注释可以自成一行,也可以跟在命令后面,与命令同行。要养成写注释的习惯,方便自己与他人。

最好不用中文注释,因为在不同字符集的系统会出现乱码。(字符集为zh_CN.UTF-8,为中文)。

4. 文件名规范

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

5. 开发的规范和习惯小结

1) 放在统一的目录

2) 脚本以.sh为扩展名

3) 开头指定脚本解释器。

4) 开头加版本版权等信息,可配置~/.vimrc文件自动添加。

5) 脚本不要用中文注释,尽量用英文注释。

6) 代码书写优秀习惯

a、成对的内容一次性写出来,防止遗漏,如[ ]、' '、" "等

b、[ ]两端要有空格,先输入[ ],退格,输入2个空格,再退格写。

c、流程控制语句一次书写完,再添加内容。(if 条件 ; then 内容;fi)ddd

d、通过缩进让代码易读。

f、脚本中的引号都是英文状态下的引号,其他字符也是英文状态。

(2)

分享至