今天给伙伴们分享一下Shell 编程-Shell 脚本规范,希望看了有所收获。
我是公众号「想吃西红柿」「云原生运维实战派」作者,对云原生运维感兴趣,也保持时刻学习,后续会分享工作中用到的运维技术,在运维的路上得到支持和共同进步!
如果伙伴们看了文档觉得有用,欢迎大家关注我的公众号,获取相关文档。爱运维,爱生活。
一、脚本格式
-
开头有“蛇棒”
-
所谓shebang其实就是在很多脚本的第一行出现的以”#!”开头的注释,他指明了当没有指定解释器的时候默认的解释器,一般可能是下面这样:
#!/bin/sh . a.sh source a.sh bash a.sh sh a.sh
- 除了 bash 之外,可以用下面的命令查看本机支持的解释器:
[root@edenluo ~]# cat /etc/Shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
- 直接使用 ./a.sh 来执行这个脚本的时候,如果没有shebang,就会默认用 $Shell指定的解释器,否则就会用 shebang 指定的解释器。
- 上面这种写法可能不太具备适应性,一般会用变量的方式来指定:
#!/usr/bin/env bash
推荐的使用方式。
二、注释说明
- 注释的意义不仅在于解释用途,而在于告诉注意事项,就像是一个 README。
- 具体的来说,对于Shell脚本,注释一般包括下面几个部分:
- shebang
- 脚本的参数
- 脚本的用途
- 脚本的注意事项
- 脚本的写作时间,作者,版权等
- 各个函数前的说明注释
- 一些较复杂的单行命令注释
三、参数定义规范
- 这一点很重要,当脚本需要接受参数的时候,一定要先判断参数是否合乎规范,并给出合适的回显,方便使用者了解参数的使用。
- 最少,最少,至少得判断下参数的个数
if [[