深入讲解丨Shell脚本单行和多行注释
Posted Java小白到大神
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入讲解丨Shell脚本单行和多行注释相关的知识,希望对你有一定的参考价值。
来了,戳蓝字一键关注▲Java小白到大神
在老男孩老师出版了《跟老男孩学习Linux运维:Shell编程实战》一书后,有很多读者找到老男孩问,多行内容如何注释,由于在书中没有讲解,这里补充下,本文仅针对Bash Shell讲解(CentOS和Red Hat默认Shell)。
Bash中单行注释
这个单行注释就很简单,就是以#号开头的行就是注释,注意第一行除外(比较特殊)。
[root@web01 ~]# cat oldboy.sh#!/bin/bash
#echo "I am oldboy"
#<==以#号开头就是注释
Bash中多行注释
Bash Shell中没有多行注释的直接用法,但是有很多用老男孩思想就可以实现的方法,最简单的方法就是在多行前面加#号就可以了,哈哈,vim有功能支持给多行前面批量加#号,见书籍第16章vim的使用讲解,这里就不细说了。
法1:在要注释的多行前增加#号
[root@web01 ~]# cat oldboy.sh
#!/bin/bash
#echo "I am oldboy"
#echo "I am oldboy"
#echo "I am oldboy"
echo "I am oldboy"
[root@web01 ~]# sh oldboy.sh
I am oldboy
法2:使用冒号配合追加输入重定向
这个方法,网上也有人讲,但是无一例外,没有一个给出原理来,看来太多人都不知其所以然啊,老男孩的读者们还是很迷糊,看来只好老男孩为大家解释了。
其实冒号在Bash里也是一个命令,表示啥都不做,<<是输入重定向,两个EOF(可用其它特殊成对字符替代)之间的内容通过<<追加给冒号(:),但是冒号对它们啥都不做,就相当于没做任何处理和输出,就相当于注释了,和老男孩老师在教学中讲的cat命令追加多行文本是一个原理,学习要学到位才好。
[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 oldboy"
[root@web01 ~]# sh oldboy.sh
I am oldboy
还有一些类似的思想方法,这个注释会多了无意义,推荐读者记住这一个就好了。
类似思路很多,不过思路都是一个,所以不需要掌握了,例如:
法3:
[root@db03 scripts]# cat test1.sh
#!/bin/bash
cat >/dev/null <<EOF
echo "I am oldboy"
echo "I am oldboy"
echo "I am oldboy"
EOF
echo "I am oldboy"
法4:
[ 0 -eq 1 ] &&{
echo "I am oldboy"
echo "I am oldboy"
echo "I am oldboy"
}
echo "I am oldboy"
本文摘自51CTO博客-老男孩oldboy
相关阅读
无论你是零基础新手,还是学习主义者
亦或是多次从入门到放弃的小白,
老男孩将会帮助你度过迷茫期,
助你循序渐进的提升,
化身IT行业领域高职能人士!
技术的提升仅是量的积累
思想的提升才是质的飞跃
——老男孩
- E N D -
如果你很想学习JAVA或很感兴趣
欢迎点赞并且推荐给你的好友
更多IT技术和福利活动
敬请关注【JAVA小白到大神】哦~
以上是关于深入讲解丨Shell脚本单行和多行注释的主要内容,如果未能解决你的问题,请参考以下文章