linuxshell如何注释多⾏,BashShell注释多⾏的⼏种⽅法1、最简单⽅法
:<
....注释内容
BLOCK
把输⼊重定义到前⾯的命令,但是 : 是空命令,所以就相当于注释了。
如果注释中有反引号的命令就会报错,反引号部分不会被注释掉,例如 var=`ls -l` 就不会被注释掉。
2、解决注释中有反引号的问题
A、⽅法⼀
shell代码:<
....注释内容
'BLOCK
B、⽅法⼆
:<
....注释内容
BLOCK'
C、⽅法三
:<
....注释内容
'
BLOCK 为 Here Documents 中的定义符号,名称任意,只要前后匹配就⾏。
3、: 指令和 Here Documents
: 就是什么也不做(do nothing)即空命令,⼀般⽤在 if... 条件中,⽤作什么也不做的命令,如:
if [ -d $DIRECTORY ]; then
:
else
echo 'the directory do not exit !'
fi
下⾯的例⼦:
cmd<
any input
file content
WORD
是 Here Documents 的⽤法,意思是将以上的定义符WORD传给某脚本或命令。
WORD的内容为两个WORD间输⼊任意内容,这样就可以在脚本中⽤ cmd 来执⾏输⼊⽽不必再重建⼀⽂件。
Here Documents 常⽤在菜单屏幕中,例如:
cat <
1.List
2.Help
3.Exit
Menu
⾄于
:<
....注释内容
WORD
就类似于建⼀本地⽂件,然后对它执⾏空命令,什么也不做,亦即是相当于注释了。
补充:
代码如下:
for ((i=0; i<10; i++))
do
:<<_a_>
if [ ]; then
...
fi
_a_
echo ""
done
上⾯的 :<<_a_ _a_>
_a_ 为 Here Documents 中的定义符号,名称任意,只要前后匹配就⾏
: 为空命令,相当于什么都不做(do nothing)即空命令,⼀般⽤在 if... 条件中,⽤作什么也不做的命令,如:if [ -d $DIRECTORY ]; then
:
else
echo 'the directory do not exit !'
fi
如果注释中有反引号的命令就会报错,反引号部分不会被注释掉,例如 var=`ls -l` 就不会被注释掉。
解决注释中有反引号的问题
:<<_a_>
....注释内容
'_a_
单⾏的就不说了,井号#可以搞定.下⾯说多⾏的.
⼀. 通过Here Documents实现:
1)
:<
注释的代码...
EOF
冒号:表⽰什么都不做.
说明: 这种⽅法当注释代码⾥出现变量引⽤或者是反引号时,bash会去尝试解析他们,会提⽰错误信息. 解决⽅法有下⾯⼏种: 1.
:<
注释的代码...
EOF
2.
:<
注释的代码...
EOF
3.
:<
注释的代码...
EOF'
4.
:
<
注释的代码...
'EOF
5.
:<
注释的代码...
'
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论