【发布时间】:2021-09-30 06:20:34
【问题描述】:
我正在尝试编写一个简单的脚本来使用“jq”输出 AWS EC2 实例信息表(实例 ID、IP、名称)。
然而,在我们的环境中,一些实例没有任何关联的标签,所以当我运行我的脚本时,我得到一个错误,此时 jq 在迭代数组的剩余元素之前停止处理:
$ aws ec2 describe-instances | \
jq -r '.Reservations[].Instances[] | (.Tags | from_entries) as $tags | "\(.InstanceId) \(.PrivateIpAddress) \($tags.Name)"'
i-0664dc6c236767b4e 10.177.99.141 foo
i-02077630c093d65dc 10.177.99.85 bar
jq: error (at <stdin>:2108): Cannot iterate over null (null)
有没有一种方法可以过滤不存在的标签并将占位符值替换为名称(如“-”),以避免此错误并产生干净的输出?
【问题讨论】: