Win10使用jq提取ec2.json中InstanceId报错及EC2操作脚本正确性问询
Win10 jq命令报错修复说明及EC2脚本核查说明
jq报错修复
报错由两个问题共同导致:
- Windows CMD的引号规则与Linux shell不同:原命令使用单引号包裹jq查询语句,但CMD不会将单引号识别为字符串边界,会直接把单引号作为查询内容传给jq,触发语法异常,报错提示也明确标注了可能是Windows cmd的引号问题。
- 原jq语句本身存在逻辑错误:
InstanceId为字符串类型字段,不是数组,不需要加[]遍历符。
不同执行环境下的正确命令如下:
- CMD环境:
jq ".Instances[].InstanceId" ec2.json - PowerShell环境:
jq '.Instances[].InstanceId' ec2.json
原始报错内容:
jq: error: syntax error, unexpected INVALID_CHARACTER, expecting $end (Windows cmd shell quoting issues?) at, line 1: '.Instances[]
jq: 1 compile error
EC2 bash脚本核查
补充提供完整的bash脚本内容,以及ec2.json的完整数据结构,即可校验EC2实例创建、标签配置、Apache服务部署等全流程操作的语法正确性、参数合理性与逻辑可用性。
内容的提问来源于stack exchange,提问作者Adam Silver
相关产品推荐
相关产品推荐

