如何让gcloud app deploy --format=json仅输出JSON内容?
解决gcloud app deploy仅输出JSON结果的问题
当使用gcloud app deploy --format=json时,部署过程的提示信息会和JSON结果混在一起,导致机器无法直接解析。核心原因是:gcloud将部署的进度提示、操作日志输出到标准错误流(stderr),而--format=json的结构化结果输出到标准输出流(stdout)。--verbosity=none无法屏蔽这些提示,因为它们不属于日志级别管控的内容。
直接获取纯JSON的方法
通过重定向stderr到空设备,只保留stdout的JSON内容:
Linux/macOS系统
gcloud app deploy --project=$PROJECT --format=json --quiet 2>/dev/null
Windows命令提示符
gcloud app deploy --project=%PROJECT% --format=json --quiet 2>NUL
Windows PowerShell
gcloud app deploy --project=$PROJECT --format=json --quiet 2>$null
可选:保留部署日志同时获取JSON
如果需要保留部署过程的日志,可将stderr重定向到日志文件:
gcloud app deploy --project=$PROJECT --format=json --quiet 2>deploy_logs.txt
执行后,JSON结果会输出到终端(或可被管道传递给jq等工具),部署日志则保存到deploy_logs.txt中。
内容的提问来源于stack exchange,提问作者Seth Battis
相关产品推荐
相关产品推荐

