You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让AWS CLI执行命令时静默输出,去除冗余会话信息?

解决AWS ECS execute-command输出冗余会话信息的问题

针对你遇到的冗余信息问题,可以通过以下几种方法过滤输出,得到纯净的版本号:

方法1:非交互式模式+提取最后一行

--interactive会触发交互式会话的提示信息,改用非交互式模式并提取命令执行的最后一行输出(通常是git describe --tags的结果):

# get deployed version
COMMAND="git describe --tags"
aws ecs execute-command --cluster="${CLUSTER}" --task="${TASK}" --container="${SERVICE}" --command="${COMMAND}" --no-interactive 2>/dev/null | tail -n1 > VERSION
  • --no-interactive:禁用交互式会话,减少插件提示
  • 2>/dev/null:丢弃错误输出中的冗余提示
  • tail -n1:只保留最后一行(即版本号)

方法2:用sed过滤冗余行

如果版本号不在最后一行,或者需要精准剔除特定会话提示,可以用sed删除包含关键词的行:

# get deployed version
COMMAND="git describe --tags"
aws ecs execute-command --cluster="${CLUSTER}" --task="${TASK}" --container="${SERVICE}" --command="${COMMAND}" --interactive 2>/dev/null | sed '/Session started successfully\|Session ended\|Starting session\|Stopping session/d' > VERSION

根据实际输出的冗余关键词调整sed中的匹配规则,确保只保留版本号行。

方法3:通过环境变量抑制插件提示

设置Session Manager插件的环境变量,从源头禁止非必要的提示输出:

# get deployed version
COMMAND="git describe --tags"
AWS_SSM_NO_PROMPT=1 aws ecs execute-command --cluster="${CLUSTER}" --task="${TASK}" --container="${SERVICE}" --command="${COMMAND}" --no-interactive 2>/dev/null > VERSION

AWS_SSM_NO_PROMPT=1会抑制插件的交互式提示信息,配合非交互式模式可以大幅减少冗余输出。

内容的提问来源于stack exchange,提问作者HubertNNN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 22:50:26