加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Shell脚本单行和多行注释

发布时间:2020-12-15 17:04:31 所属栏目:安全 来源:网络整理
导读:Shell 脚本单行和多行注释 在老男孩老师出版了 《跟老男孩学习 Linux 运维: Shell 编程实战》 一书后,有很多读者找到老男孩问,多行内容如何注释,由于在书中没有讲解,这里补充下 , 本文仅针对 Bash Shell 讲解( CentOS 和 Red Hat 默认 Shell )。 1.Ba

Shell脚本单行和多行注释

在老男孩老师出版了《跟老男孩学习Linux运维:Shell编程实战》一书后,有很多读者找到老男孩问,多行内容如何注释,由于在书中没有讲解,这里补充下,本文仅针对Bash Shell讲解(CentOSRed Hat默认Shell)。

1.Bash中单行注释

这个单行注释就很简单,就是以#号开头的行就是注释,注意第一行除外(比较特殊)。

[root@web01 ~]# cat oldboy.sh

#!/bin/bash

#echo "I am oldboy" #<==以#号开头就是注释。

2. 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"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读