gpt4 book ai didi

Shell 命令以 json 输出返回值

转载 作者:行者123 更新时间:2023-12-03 07:32:38 24 4
gpt4 key购买 nike

如何使用 shell 命令返回特定值?在下面的示例中,我想查询返回“StackStatus”的值,即“CREATE_COMPLETE”

这是命令:

aws cloudformation describe-stacks --stack-name stackname

这是输出:

{
"Stacks": [{
"StackId": "arn:aws:cloudformation:ap-southeast-2:64560756805470:stack/stackname/8c8e3330-9f35-1er6-902e-50fae94f3fs42",
"Description": "Creates base IAM roles and policies for platform management",
"Parameters": [{
"ParameterValue": "64560756805470",
"ParameterKey": "PlatformManagementAccount"
}],
"Tags": [],

"CreationTime": "2016-10-31T06:45:02.305Z",
"Capabilities": [
"CAPABILITY_IAM"
],
"StackName": "stackname",
"NotificationARNs": [],
"StackStatus": "CREATE_COMPLETE",
"DisableRollback": false
}]
}

最佳答案

aws cli 支持 --query 选项来获取部件。此外,您还可以通过管道连接到另一个命令行工具jq来执行类似的查询。

但是用aws表示法得到第一个结果:

aws cloudformation describe-stacks --stack-name stackname --query 'Stacks[0].StackStatus' --output text

根据上面的输出,Stacks是一个对象数组(键/值),因此需要[0]来获取对象的第一个元素数组,然后 .StackStatus 是该对象中的键,包含字符串作为值。 --output text 只是将输出呈现为简单的文本值,而不是看起来像 json 的对象。

根据 Charles 评论进行编辑。

关于Shell 命令以 json 输出返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43267688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com