如何从AWS EC2 describe-instances获取公共DNS名称

时间:2019-07-30 21:50:05

标签: json bash amazon-web-services amazon-ec2 jq

我正在尝试制作简单的脚本来查询我的ec2实例,并获取与我的过滤器匹配的实例的公共dns名称。这是我的第一枪:

#!/bin/bash

aws ec2 describe-instances \
    --filters "Name=tag:app,Values=swarm-cluster" \
              "Name=tag:role,Values=manager" \
    --query "Reservations[*].Instances[*].PublicDnsName"

几乎可以正常工作,但我收到一些难看的东西:

[
    [
        ""
    ],
    [
        "ec2-xxx-xxx-xxx-xxx.venus-central-1.compute.amazonaws.com"
    ]
]

我只想列出FQDN,每行一个。如何格式化输出? 我知道,我可以使用tr,sed等来完成此操作,但我想使用更复杂的方法。 :)

1 个答案:

答案 0 :(得分:5)

您可以将--output text附加到CLI调用中以获取文本输出。

Ref-https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output.html