Linux:shell 中的单行注释和多行注释

这篇具有很好参考价值的文章主要介绍了Linux:shell 中的单行注释和多行注释。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关于 shell 中的单行注释和多行注释

单行注释

众所周知 ,使用# 

比如想要注释 echo "Hello World"

[root@test ~]# vim test.sh
# echo "Hello World"

多行注释

        Shell 语言中是没有类似于 C/C++, Python 等计算机语言多行注释的功能的,可是对于脚本文件进行调试时,我们不可避免的需要对其中的代码进行注释,如果是很少的几行代码,手动的在每行首添加 # 就可以了,但是如果需要对于大量的代码块进行注释,手动的注释每行代码就不适用了。对于这个问题,推荐一些常用的方法。

第一种方法(利用 Here Document 特性):

        简单来说就是用一个空命令接收要注释的命令行,不做任何事情,以此来达到注释的目的。例如;

<< EOF
Cmd line 1
Cmd line 2
Cmd line 3
Cmd line 4
EOF

命令行在起始 << EOF 随后临近的 第一个 EOF 之间的内容都会被注释掉。

第二种方法,利用 Shell 中的空命令 : (冒号,注意其后有个空格)

可以说是第一种方法的拓展,这个命令不做任何动作,例如;

: "
Cmd line 1
Cmd line 2
Cmd line 3
Cmd line 4
"

        但是这里面会出现潜在的问题,如果被注释的 Cmd line 中有同类型的单或双引号时,注释是无效的。例如,

: "
Cmd line 1
Cmd line "2"
Cmd line 3
Cmd line 4
"

        在 Cmd line “2” 中有同类型的引号,那么第一个引号之前的内容会被“注释”掉,但是往后代码内容可能会报错,所以用这种方法之前,最好检查一下避免同类型引号的出现。

结合第一种和第二种方法,综合策略是,

: << EOF
Cmd line 1
Cmd line 2
Cmd line 3
Cmd line 4
EOF

其实这种命令类似于:

cat << EOF > /dev/null
Cmd line 1
Cmd line 2
Cmd line 3
Cmd line 4
EOF

cat 可以换成 lessmoreecho 等,> /dev/null 重导向命令类似于删除,不打印任何内容。

第三种方法,利用函数

        虽然说以上方法都能完成对多行代码的注释,但是它们也仅仅只是抑制了代码的执行和打印输出,Shell 还是会处理它们的,只是你看不到而已,这就不可避免的影响到了代码的执行效率。当然了,以现代计算机的处理速度,流处理文本文档上百万行都不会花费太多时间。可是,既然是被注释的代码,我们当然不想让它被执行。所以,这里推荐一个更终极的解决方法,那就是利用“函数”。

Shell 类似于 C/C++, Python, Java 等计算机语言也是可以定义函数的,定义的方法如下,

func_name () {
Cmd line 1
Cmd line 2
Cmd line 3
Cmd line 4
}

综合所述,即使 Shell 不能多行注释,但是我们通过其他的一些方法,仍然可以实现这样的功能, 其中函数定义的方式相比之下更加强大,即有效的避免了单双引号的问题,同时也避免了注释模块的执行效率问题。文章来源地址https://www.toymoban.com/news/detail-611624.html

到了这里,关于Linux:shell 中的单行注释和多行注释的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Css/小程序】如何实现div或view中的文字左右居中和垂直居中?(已解决:多行和单行自适应)

    1、多行居中效果 2、单行照样居中效果 

    2024年02月04日
    浏览(36)
  • 【玩转Linux操作】详细讲解shell的注释,变量,字符串,数组等操作

    🎊专栏【玩转Linux操作】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【Counting Stars 】 欢迎并且感谢大家指出小吉的问题🥰 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用

    2024年02月11日
    浏览(34)
  • 【Linux内核解析-linux-5.14.10-内核源码注释】关于Linux同步机制知识点整理

    在Linux系统中,同步机制是操作系统中非常重要的一部分,以下是一些基本要点: 什么是同步机制?同步机制是一种操作系统提供的机制,用于协调多个进程或线程之间的访问共享资源,防止出现竞态条件和死锁等问题。 Linux中常用的同步机制有哪些?Linux中常用的同步机制

    2024年02月04日
    浏览(37)
  • Linux Shell基础知识

    预计更新 1: 基础知识 简介和安装 基本命令 变量和环境变量 2: 流程控制 条件语句 循环语句 函数 3: 文件处理 文件读写 文件权限和所有权 文件搜索和替换 4: 网络和进程 网络通信 进程管理 信号处理 5: 文本处理 正则表达式 文本分析和处理 生成报告和日志 6: 用户界面 命令行

    2024年02月11日
    浏览(33)
  • excel中单行换成多行

    今天碰以下情况:   这在excel表中是在一个单元格,现在需要对其进行转换,将一个单元格换成多行 步骤: 1.删除换行符,添加一个逗号 2.选择数据-分列-分隔字符-逗号-确定 3.复制上述数据,选择性粘贴-转置 完成,解决此数据转换问题! 

    2024年02月16日
    浏览(30)
  • css超出显示...(单行、多行)

    效果图: 注:必须要定一个宽度。 效果图: 注:必须要定一个宽度。 以上代码就能实现上面的效果

    2024年01月20日
    浏览(37)
  • 多行SQL转成单行SQL

    如下图所示 将以上多行SQL转成单行SQL 正则表达式如下 结果如下 灵活使用,也未必只能使用Sublime Text 提供了一个在线工具

    2024年01月17日
    浏览(37)
  • Latex单行/多行公式居中/左对齐

    代码如下(示例): 输出: 代码如下(示例): 输出: 代码如下(示例): 输出: 代码如下(示例): 输出:

    2024年02月13日
    浏览(31)
  • css 单行文字居中,多行文字左对齐

    2024年02月11日
    浏览(39)
  • 微信小程序:单行输入和多行输入组件

    微信小程序提供了两种输入类型的输入框组件,分别是单行输入框 input 和多行输入框 textarea 。 1. 单行输入组件(input) 单行输入框 input input 是一个用于收集用户输入的组件,主要用于收集单行文本输入。 input组件用于录入单行文本,尽管input的基本功能是文本录入,但该组

    2024年02月06日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包