在shell编程中,我们常常需要把一些语句注释掉,让它不执行,对单号或者少数几行shell脚本来说,在每行前面增加#符号就可以达到目的了,代码如下:

#cp ./a.txt ./b.txt
#mkdir -p {1,2,4}/{2,4,6}
#echo “ok”

但如果我们需要对一大段的shell脚本进行注释,倘若我们都在每行前面添加#,这对我们来说,确实不是一件很令人舒服的事情,那么,在shell中,有没办法采用类似c语言的注释/* …*/来达到一整段的注释效果呢?笔记经过测试,发现下面的方法是ok的。

:<<!EOF! #此句前边的:可有可无
cp ./a.txt ./b.txt
mkdir -p {1,2,3}/{4,5,6}
echo “ok”
!EOF!

甚至可以把要注释的shell整体变成一个函数来达到不让执行的目的。

notExce(){
cp ./a.txt ./b.txt
mkdir -p {1,2,3}/{4,5,6}
echo “ok”
}

脚本注释#,多行注释添加太麻烦了。

采用形式:

:<<Linux
第一行
第二行

Linux

前后两个Linux也可以替换成任意在被注释代码行中未出现过的字符串。

注意:第二个Linux需要顶格写,前面不能有空格。

shell中注释一段代码的方法

if false; then
code
code
fi

发表评论