如何从aws ssm get-parameter命令输出中仅提取Value属性的纯值
方案1:使用AWS CLI自带参数直接获取(无需额外工具)
如果你用单参数查询接口get-parameter,直接执行以下命令即可拿到纯字符串值:
aws ssm get-parameter --name "/test/ip/cidr" --profile test --query "Parameter.Value" --output text
如果你要沿用之前的批量查询接口get-parameters,修改query规则+指定输出格式即可:
aws ssm get-parameters --names "/test/ip/cidr" --profile test --query "Parameters[*].Value" --output text
说明:你之前的写法Parameters[*].{Value:Value}是手动将结果映射为包含Value键的对象,所以会返回带结构的JSON,直接取Parameters[*].Value就能拿到值数组,配合--output text就会输出纯文本内容,没有多余的JSON结构和引号。
方案2:使用jq工具处理JSON输出
如果本地已安装jq,也可以通过jq提取原始值:
aws ssm get-parameter --name "/test/ip/cidr" --profile test | jq -r '.Parameter.Value'
其中-r参数的作用是输出原始字符串,不会给结果额外加引号。
内容的提问来源于stack exchange,提问作者SRE
相关产品推荐
相关产品推荐

