Shell脚本中进行多行注释的方法


我发现。。shell脚本貌似不像C或者Python一样自带注释语法,不过拐弯抹角还是有一些方法的。。囧

方法1:利用逻辑语句

利用了逻辑语句的执行顺序,缺点是注释中不能出现括号,否则会报错!

###逻辑或前如果为真,后边的语句块自动不执行
#1
:||{
 注释内容...
}
#2
((1))||{
 注释内容...
}
#3
true||{
 注释内容...
}
###逻辑与前如果为假,后边的语句块自动不执行
#4
((0))&&{
 注释内容...
}
<!--more-->
#5
false&&{
 注释内容...
}

方法2:利用Here Documents语法

利用了shell脚本的here documents的语法,注意<<后边是自己命名的,做到前后呼应即可,如下为两例,但是我测试的几种命名只有例1中的方法没有什么缺点,在例二或者其他命名中,如果出现反单引号`则可能会报错!

#e.g. 1
:<<''
 注释内容...
''
#e.g. 2
:<< BLOCK
 注释内容...
BLOCK

方法3:利用sed命令

如果是使用vim编辑,利用sed语法,vim中的normal模式下:

#全文注释:
:0,$ s/^/#/

#m到n行注释:
:m,n s/^/#/

#全文去注释:
:0,$ s/^#//

#m到n行去注释:
:m,n s/^#//

这里涉及到正则表达式的一些基本知识,^代表行首,$代表末尾……很简单,可以百度一下。