有没有一种简单的方法可以在shell脚本中注释掉一段代码?
在bash中:
#!/bin/bash echo before comment : <<'END' bla bla blurfl END echo after comment
在'
和'
周围的END
分隔符是重要的,否则里面的东西例如像块$(command)
将被解析并执行.
有关说明,请参阅该和这个问题.
shell脚本没有块注释.
使用vi
(是vi
),您可以轻松地从第n行到第m行发表评论
:10,100s/^/#/
(读取,从第10行到第100行用#符号替换行开头(^).)
并且不发表评论
:10,100s/^#//
(读取,从第10行到第100行替换行开头(^)后跟#注释//.)
vi
几乎在任何地方都是通用的/bin/sh
.
您可以使用:
if [ 1 -eq 0 ]; then echo "The code that you want commented out goes here." echo "This echo statement will not be called." fi
以下应该适用于sh
,bash
,ksh
和zsh
.
要注释的代码块可以放在里面,BEGINCOMMENT
并且ENDCOMMENT
:
[ -z $BASH ] || shopt -s expand_aliases alias BEGINCOMMENT="if [ ]; then" alias ENDCOMMENT="fi" BEGINCOMMENT echo "This line appears in a commented block" echo "And this one too!" ENDCOMMENT echo "This is outside the commented block"
执行上面的代码会导致:
This is outside the commented block
例如,为了取消注释如此评论的代码块
alias BEGINCOMMENT="if : ; then"
代替
alias BEGINCOMMENT="if [ ]; then"
在上面的例子中.
如果你能躲避单引号:
__=' blah blah comment. '
在Vim:
转到要评论的第一行块
shift-V
(进入可视模式),向上按下块中的高亮线
选择时执行以下操作 :s/^/#/
该命令将如下所示:
:'<,'>s/^/#
打进去
例如
shift-V jjj :s/^/#
使用: '
在打开和'
关闭。
例如:
: ' This is a very neat comment in bash '
这是来自拉斯维加斯的榜样发现这里