Shell脚本多行注释

2023-12-02

我有一个很大的 shell 脚本文件。有时在进行修改时我想注释掉其中的一部分。但如下例所示的注释行给了我错误。

Script:

#!/bin/bash
<<COMMENT1
read build_label
read build_branch_tag
build_date_tag=$(echo $build_label | sed "s/$build_branch_tag//g")
echo $build_path
COMMENT1
echo "HELLO WORLD"

错误信息:

sed:第一个 RE 不能为空

我只是想了解上面的脚本有什么问题以及为什么评论部分无法正常工作。


首先,使用这里的文档来注释代码真的很肮脏!使用#反而。如果您想注释多行,请使用编辑器。在 vim 中(例如从 10 到 15 行注释):

:10,15s/^/#

但是,要解决当前的问题,您需要将起始的here-doc分隔符括在单引号中,如下所示:

<<'COMMENT'
...
COMMENT

使用单引号告诉 bash 它不应该尝试扩展此处文档正文中的变量或表达式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Shell脚本多行注释 的相关文章

随机推荐

  • Android 中使用 gson 将 Json 转换为对象

    我有一个包含很多条目的 JSON 数组 并希望使用 gson 将每个检查反序列化为单个对象 我的问题是找到合适的对象结构 Gson gson new Gson Type collectionType new TypeToken
  • 如何将 http 请求转换为正确的对象?

    在我的 ASP Net MVC3 项目中 我创建了一个绑定基本模型的 ModelBinder 在我的视图中 我从继承自基本模型的模型创建一个对象 现在我想知道当我按下提交按钮时 哪个模型是通过 ModelBinder 中的反射创建的 但是如
  • 使用参数在批处理文件中运行脚本

    我正在编写一个批处理文件 并在这个批处理文件中执行一个脚本 批处理文件 PowerShell NoProfile ExecutionPolicy Bypass Command Start Process PowerShell Argumen
  • svnkit,列出SVN存储库的所有文件,而不检出文件

    svnkit com 是一个SVNJava 中的库 例如 您可以获取SVN存储库的日志 如下所示 SVNClientManager newInstance getLogClient SVNLogClient doLog SVNURL url
  • 服务合约实现另一个接口

    请告诉我这是否可能 我有一个客户端 win 表单应用程序和一个 C 中的 wcf 应用程序 这是我的模型 共同项目 public interface IServiceA string DoWorkA 我没有在 Common 项目中使用 Se
  • Node.js 可读文件流未获取数据

    我正在尝试创建一个可读文件流 我可以从中读取各个字节 我正在使用下面的代码 var rs fs createReadStream file on open function var buff rs read 8 Read first 8 b
  • bash 命令中 !#:* !#:1- 的含义是什么?

    在以下 Bash 命令中 以下内容的含义是什么 1 echo This is a sentence 1 gt text3 它正在使用bash 的历史替换机制 具体来说 指当前行 直到但不包括 本身 是该行命令名称之后的部分 因此 在本例中
  • 如何从system();获取日志?

    有没有办法从 system 获取日志 就像我做的时候一样system open com apple nike 我应该得到Couldn t open application com apple nike Reason 8 applicatio
  • Visual Studio Code 使用 NVM 指定的节点版本

    VS Code 是否可以使用 NVM 指定的节点版本 我本地安装了6 9 2 即使切换到另一个版本后 从 OS X 终端 不是 VS Code 终端 重新启动 VS Code VS Code 仍然显示使用 6 9 2 OS X 终端 Mac
  • 在 R 中使用 for 循环进行卡方分析

    我正在尝试对数据中变量的所有组合进行卡方分析 我的代码是 Data lt esoph 1 3 OldStatistic lt NA for i in 1 ncol Data 1 for j in i 1 ncol Data Statisti
  • 为什么jquery中的同步ajax调用不支持超时?

    我正在读书herejquery 中的同步 ajax 调用不会超时 这是技术限制 还是只是作者不想支持的东西 当 ajax 调用是同步的时 实际上会发生什么 浏览器通过以下方式处理同步 异步请求XMLHttp请求API 但它没有内置的超时功能
  • Python 日志记录:INFO、DEBUG 日志未显示

    Python版本 2 7 我正在使用下面的代码在控制台上显示日志 但是 不显示 INFO 和 DEBUG 日志 Code import logging class LogTest def init self logger obj loggi
  • 通过 http 发送基本身份验证

    我正在尝试从需要基本身份验证的页面读取源代码 但是 在我的 HttpWebRequest 中使用标头甚至凭据 我仍然会返回未经授权的异常 401 string urlAddress URL string UserName MyUser st
  • 计算节点之间的路径长度(具有未知的边)?

    问题是如何在不知道边类型的情况下使用 sparql 查询计算三重存储 RDF 中两个节点 概念 之间的距离 本质上 就是使用Dijkstras algorithm 找到三重存储中两个概念之间的较短路径 如果我们知道边的类型 就有可能 计算节
  • 单列表迭代与多个列表理解

    我有一个数据列表 我需要将其中的一些元素复制到几个不同的列表中 对列表进行单次迭代或执行多个列表理解会更好吗 E g def split data data a b c for d in data if d 0 gt 1 a append
  • 如何将顶部和底部边框变为三角形?

    正如您在下图中看到的 我试图从底部和顶部扭曲或三角形我的 div 但我不知道该怎么做 我只是尝试了几次 但没有达到结果 那么我怎样才能使用after before psuedo呢 用 psuedo make 没关系 但我想知道该怎么做 这是
  • Android Studio 导致 Windows 8.1 崩溃

    自从我将我的电脑更新到 Windows 8 1 后 当我启动 Android Studio 并运行一个我正在测试的简单应用程序时 我收到一个 其中包含 ritic struct error 强制我的核心 i7 重新启动 当我注意到我的磁盘在
  • 用于匹配 ISO 8601 日期时间字符串的正则表达式

    有人有一个好的正则表达式模式来匹配 iso 日期时间吗 即 2010 06 15T00 00 00 对于严格的 完整的日期时间 包括毫秒 每W3C 对规范的看法 Complete precision d 4 01 d 0 3 dT 0 2
  • React 中无用的构造函数是什么?

    我有两个文件 Description js and subjects js subject js 文件包含主题数组 export const Subjects id 1 title Mathematics text Cheat Sheet
  • Shell脚本多行注释

    我有一个很大的 shell 脚本文件 有时在进行修改时我想注释掉其中的一部分 但如下例所示的注释行给了我错误 Script bin bash lt