Shell 编程-Shell 脚本规范详解

今天给伙伴们分享一下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 [[