1、使用冒号配合追加输入重定向
推荐使用此方法
冒号在Bash里也是一个命令,表示啥都不做,<<是输入重定向,两个EOF(可用其它特殊成对字符替代)之间的内容通过<<追加给冒号(:),
但是冒号对它们啥都不做,就相当于没做任何处理和输出,就相当于注释了。
[root@web01 ~]# cat oldboy.sh #!/bin/bash :<<EOF echo "I am oldboy" echo "I am oldboy" echo "I am oldboy" EOF #<==顶格写,和老男孩老师讲的cat命令追加多行文本是一个原理。 echo "I am young" [root@web01 ~]# sh oldboy.sh I am young
也可以使用其他符号,例如(!@%)等等可用的任意字符。
#!/bin/bash :<<! echo "I am oldboy" echo "I am oldboy" echo "I am oldboy" ! :<<% echo "I am oldboy" echo "I am oldboy" echo "I am oldboy" % :<<@ echo "I am oldboy" echo "I am oldboy" echo "I am oldboy" @ :<<^ echo "I am oldboy" echo "I am oldboy" echo "I am oldboy" ^ :<<A echo "I am oldboy" echo "I am oldboy" echo "I am oldboy" A echo "I am young"
[root@web01 ~]# sh oldboy.sh I am young
2、[ 0 -eq 1 ] &&{ 被注释的内容}
[ 0 -eq 1 ] &&{ echo "I am oldboy" echo "I am oldboy" echo "I am oldboy" } echo "I am oldboy"
3、if false;then 被注释的内容 fi
echo aaa if false;then echo bbb fi echo ddd
4、((0))&&{被注释的内容}
echo aaaaa ((0)) && { echo bbbbb echo ccccc } echo ddddd