是否有一种简单的方法来注释掉shell脚本中的代码块?
当前回答
如果你能避开单引号:
__='
blah blah comment.
'
其他回答
在bash中:
#!/bin/bash
echo before comment
: <<'END'
bla bla
blurfl
END
echo after comment
END分隔符周围的“和”很重要,否则块内的内容(例如$(命令))将被解析并执行。
关于解释,请看这个和这个问题。
你可以使用:
if [ 1 -eq 0 ]; then
echo "The code that you want commented out goes here."
echo "This echo statement will not be called."
fi
使用:'打开'和'关闭。
例如:
: '
This is a
very neat comment
in bash
'
这是维加斯的例子
以下命令适用于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.
'
推荐文章
- 如何从查找“类型d”中排除此/ current / dot文件夹
- 只使用md5sum获取哈希值(没有文件名)
- 使用sh shell比较字符串
- 在Bash中测试非零长度字符串:[-n "$var"]或["$var"]
- 如何创建Bash别名?
- 如何设置ssh超时时间?
- 将所有变量从一个shell脚本传递到另一个?
- 只列出UNIX中的目录
- 如何删除shell脚本中文件名的扩展名?
- 'find -exec'是Linux中的shell函数
- 临时更改bash中的当前工作目录以运行命令
- 重定向复制的标准输出到日志文件从bash脚本本身
- Shell脚本for循环语法
- Docker入口点运行bash脚本被“拒绝权限”
- Chmod递归