在 bash 中从 YAML 文件解析嵌套变量

2024-01-30

一个复杂的.yaml文件来自这个链接 https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/kubernetes-datastore/calico-networking/1.7/calico.yaml需要输入到 bash 脚本中,该脚本作为在 Amazon Linux 2 的 EC2 实例上运行的自动化程序的一部分运行。请注意.yaml上面链接中的文件包含许多对象,我需要提取在文件中定义的许多对象之一中定义的环境变量之一。

具体来说,我怎样才能提取192.168.0.0/16的值CALICO_IPV4POOL_CIDR变量变成bash变量?

        - name: CALICO_IPV4POOL_CIDR
          value: "192.168.0.0/16"

我读过很多关于解析更扁平、更简单的其他帖子和博客文章.yaml文件,但这些其他示例都没有显示如何提取像这样的嵌套值value of CALICO_IPV4POOL_CIDR在这个问题中。


正如其他人评论的那样,建议使用yq(随着jq) 如果可供使用的话。
那么请尝试以下操作:

value=$(yq -r 'recurse | select(.name? == "CALICO_IPV4POOL_CIDR") | .value' "calico.yaml")
echo "$value"

Output:

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

在 bash 中从 YAML 文件解析嵌套变量 的相关文章

  • sed 替换为多行变量[重复]

    这个问题在这里已经有答案了 我正在尝试用跨多行的文本替换单词 我知道我可以简单地使用换行符 n 来解决这个问题 但我想保持字符串 干净 不包含任何不需要的格式 下面的例子显然是行不通的 read r d TEST lt
  • Flink 在 Kubernetes 上的部署和 Native Kubernetes 有什么不同

    黑白的主要区别是什么原生 Kubernetes https ci apache org projects flink flink docs stable ops deployment native kubernetes html and 库
  • kubernetes 上的 gitlab-ci 缓存与 minio-service 不再工作

    我正在运行 gitlab 10 4 3 和 gitlab runner 10 4 0 作为 kubernetes 部署 带有 kubernetes runner 和一个用于缓存的 minio server 我是按照安装的gitlab 文档
  • 如何在 Docker Desktop 上创建新的 Kubernetes 集群?

    我似乎不知道如何在我的计算机上运行的 Docker Desktop 实例上创建全新的 Kubernetes 集群 无论是 Mac 还是 PC 都没有关系 我知道如何设置当前集群上下文 但我只有一个集群 因此无法设置其他任何内容 What s
  • Bash:将字符串添加到文件末尾而不换行

    如何将字符串添加到文件末尾而不换行 例如 如果我使用 gt gt 它将添加到文件末尾并换行 cat list txt yourText1 root host 37 echo yourText2 gt gt list txt root hos
  • 在yaml中写入#(在字符串中)

    我是新使用 yml 文件 用于我的框架中的翻译 我试图在翻译中添加一个 将是一个推特分享 blabla 这可能吗 因为文件将其翻译为评论 只需将值放在单引号或双引号内 它就不会被视为注释 就像是 en twitter share hasht
  • 用于编译和运行 C++ 的 bash 脚本

    我正在尝试进入 C 但必须使用冗长的命令通过命令行运行东西很烦人 所以我想制作一个 bash 脚本来简化过程并运行这些命令 bin bash if 1 start then cd CCPP cd HelloWorld g Wall W We
  • 无需别名的 Ruby YAML 编写

    我正在从 ruby 将数据写入 yaml 文件 并且经常在该文件上添加别名 像 id001 somekey somevalue id001 就我而言 我使用 yaml 文件来aid可读性并将名称添加到文件中的值 因为现有数据只是 没有键的分
  • 使用 sed 查找并替换包含非转义字符的变量

    我可以使用它来查找 fly 的所有实例 并将其替换为文件中的 insect sed i s fly insect g animals txt 如何找到 BASH 变量并将其替换为另一个 BASH 变量 例如 name echo fly ca
  • kubernetes kubectl 中的生成器是什么?

    当我想通过运行生成 yaml 时kubectl 它表示我应该表示 generator something命令内的标志 例如 要通过以下方式获取部署模板kubectl 我应该运行以下命令 kubectl run generator deplo
  • unix 下日期字段排序

    我有包含数十万条记录的文本文件 其中一个字段是日期字段 有没有办法根据日期字段对文件进行排序 09 APR 12 04 08 43 632279000 AM 19 MAR 12 03 53 38 189606000 PM 19 MAR 12
  • 正则表达式删除块注释也删除 * 选择器

    我正在尝试使用 bash 从 css 文件中删除所有块注释 我有以下 sed 命令的正则表达式 sed r s w s w d 这可以很好地去除块注释 例如 This is a comment this is another comment
  • 使用 YAML.load 解析 json 安全吗?

    我使用的是红宝石2 1 0 我有一个 json 文件 例如 测试 json item apple 1 banana 2 使用 YAML load 加载此文件是否安全 YAML load File read test json 我正在尝试加载
  • 检查 bash 中是否存在关联数组元素

    在 bash 脚本中 我在变量中有一个区域设置 如下所示 locale fr ma 我也有一个像这样的关联数组 declare A new loc map new loc fr ma en ma new loc el gr en gr ne
  • 将conf文件嵌入到helm图表中

    我是新掌舵者 我正在构建一个包含大量conf文件的splunk helm图表 我目前在 configmap 中使用类似的东西 apiVersion v1 kind ConfigMap metadata name splunk master
  • 如何将对象数组定义为参数?

    我很新Swagger 所以这可能是一个基本问题 我可以为采用整数数组作为参数的 API 创建 yml 文件 如下所示 Add samples tags MY API parameters name my id in path type in
  • 运行具有外部依赖项的 Scala 脚本

    我在 Users joe scala lib 下有以下 jar commons codec 1 4 jar httpclient 4 1 1 jar httpcore 4 1 jar commons logging 1 1 1 jar ht
  • 在pyyaml中表示具有相同基类的不同类的实例

    我有一些单元测试集 希望将每个测试运行的结果存储为 YAML 文件以供进一步分析 YAML 格式的转储数据在几个方面满足我的需求 但测试属于不同的套装 结果有不同的父类 这是我所拥有的示例 gt gt gt rz shorthand for
  • Bash:递归复制命名文件,保留文件夹结构

    我希望 cp R src prog js images icon jpg tmp package 将在目标目录中产生对称结构 tmp package src prog js images icon jpg 但相反 这两个文件都被复制到 tm
  • Bash - 将键绑定到字符串(不是函数)

    如何获得键绑定以导致在命令行插入任意文本 在 zsh 中我这样做 bindkey s m myspecialscript 在 bash 中 有等效的吗 没有一个内置函数可以实现我想要的功能 bind e E home yourscript

随机推荐

  • 为 GitHub 设置 SSH 密钥

    我正在跟进这些说明 http help github com mac set up git 了解如何设置 SSH 密钥以用于 GitHub 说明会告诉您删除当前的 ssh目录并在该 ssh 目录中创建新密钥 我无法执行此操作 因为我的电脑中
  • AngularJS 中的子菜单(展开/折叠树)

    在过去的一天里 我一直在寻找使用 Angular 来控制带有子菜单的菜单列表的最佳方法 使用 jQuery 您可以在特定类型的元素 例如 li 并向其子元素添加一个类以打开菜单 我正在尝试做与此页面上的菜单相同的事情http geedmo
  • Postgres:将数据从一个数据库的公共模式移动到另一个数据库的新模式的最佳方式

    我是 Postgres 新手 刚刚发现我无法在一个 SQL 查询中访问不同数据库的数据 并且还学习了Postgres中模式的概念 现在 我有两个数据库 db1 和 db2 两者在其公共模式中都有相同名称的表 现在 我想在 db1 中创建一个
  • npgsql 和实体框架代码优先设置问题

    我最近收到的错误是 ERROR 42P01 relation dbo MigrationHistory does not exist 但我确信这只是因为之前的某些事情没有正确设置 我目前正在尝试首先设置实体框架 4 4 代码以使用 Npgs
  • 如何使用 SpringBootTest 测试某个方面?

    我使用 Spring Boot 2 1 6 RELEASE 在 Spring 中创建了一个简单的方面 它基本上记录了一个方法所花费的总时间 Aspect Component public class TimeLoggerAspect pri
  • JobLauncherTestUtils 在尝试测试 Spring Batch 步骤时抛出 NoUniqueBeanDefinitionException

    我正在使用 Spring boot 和 Spring Batch 我定义了不止一项工作 我正在尝试构建 junit 来测试作业中的特定任务 因此我使用 JobLauncherTestUtils 库 当我运行测试用例时 我总是得到 NoUni
  • Json 字符串数组转为 Java 字符串列表

    我有一个返回字符串列表的网络服务 仅返回字符串列表 string1 string2 string3 我怎样才能把它转换成ArrayList
  • Linux 容器上使用 screen -x 命令时出现“必须连接到终端错误”

    我正在使用带有 Proxmox 4 的 Linux 容器 当我连接到 Ubuntu 16 04 容器时 pct enter
  • Java 和 Python 一起出现在单个 Google App Engine 项目中

    我目前有一个在 Google App Engine 上运行的 Java 应用程序 但我想添加 Python 模块的 SearchableModel 提供的功能 当然是搜索功能 是否可以在与 Java 代码相同的项目中运行 python 代码
  • Pyinstaller.exe 未产生预期结果

    这是我第一次使用 pyinstaller 在 Windows 机器上构建 py 的 exe 我已成功生成 exe 但是当我运行代码时 它不会生成我的代码应生成的 csv 文件 附带说明一下 当我在 IDE 中运行脚本时 它成功生成了我期望的
  • OpenGL 渲染器不适用于冰淇淋三明治

    您好 我正在使用 OpenGL ES 1 0 构建 Android 游戏 一切都工作正常 直到我的 Transformer 平板电脑更新为冰淇淋三明治 现在 任何使用 OpenGL 渲染的内容都不会显示在屏幕上 我环顾四周 发现了Textu
  • 后期绑定与多态性 - 有什么区别?

    我见过两者互换使用 但它们真的意味着相同吗 根据我的理解 多态性延伸了这样一个事实 即您可以通过子类的实例交换类的实例 而后期绑定意味着当您调用实例的方法时 类型决定调用哪个方法 子类 超类 维基百科有一篇关于此的非常好的文章 http e
  • Ajax woocommerce 在弹出窗口中跟踪订单,无需重新加载页面

    我通过短代码将订单跟踪放在弹出窗口中 但问题是单击并发送请求后 页面将重新加载并且弹出窗口关闭 我希望通过 Ajax 在同一个弹出窗口中显示请求的结果 并且不重新加载页面 我搜索了整个网络 但找不到方法 如果有人知道如何做到这一点 请指导我
  • 在 Swift 中创建 UIView 的副本

    因为对象是引用类型 而不是值类型 如果您设置UIView等于另一个UIView 视图是同一对象 如果您修改其中一个 您也会修改另一个 我有一个有趣的情况 我想添加一个UIView作为另一个视图中的子视图 然后我进行一些修改 并且这些修改不应
  • c# 更改AD密码Directoryservices

    我试图让下面的代码工作 问题是 有时可以 有时不可以 当失败时 会出现错误 0x800704F1 系统无法联系域控制器来服务身份验证请求 我想说大约 90 的情况都会失败 我尝试通过将其添加到 contexttype 后面来给它一个静态 D
  • 什么是“.”和 Windows 目录中的“..”?

    我正在编写一个程序来列出 Windows 目录中的所有文件 我只是使用提供的文件管理功能 但我对结果很好奇 Target file is The first file found is The next file found is The
  • 触发问题,更新面板不起作用?

    我创建动态 LinkBut ton 并将 LinkBut ton 的单击触发器添加到 UpdatePanel 现在 当我第一次单击任何一个链接按钮时 触发器运行良好 并显示我的选择 没有回发 之后 我单击其他 LinkBut ton 所有页
  • 哪种做法更好 - 全球导入或本地导入

    我正在 django 中开发一个应用程序 我怀疑在全局级别导入库是否比在本地 每个函数 级别导入库对内存或性能有任何影响 如果按功能或视图导入 则导入单独需要的模块可以节省空间 对吗 或者这样做有什么负面影响吗 您肯定已经注意到 几乎所有
  • Data.Map / Data.IntMap 是否存在 monad 实例?

    我有一个在 IntMap 上运行的算法 我认为最好以命令式的方式表达它 也就是说 我想说的是 在地图中查找值 X 如果它符合条件 则从地图中删除该值 循环直到地图中不再存在任何值 用两行递归来表达是相当简单的 但实际的算法有点复杂 涉及多次
  • 在 bash 中从 YAML 文件解析嵌套变量

    一个复杂的 yaml文件来自这个链接 https docs projectcalico org v3 3 getting started kubernetes installation hosted kubernetes datastore