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

如何使用AWS CLI获取早于指定天数的RDS快照列表

解决AWS CLI查询中变量替换失败的问题

问题核心是单引号的Shell解析特性:Shell会把单引号内的所有内容当作纯字面文本,不会解析其中的变量(比如$expiry_date),所以你的日期变量根本没被替换成实际值。

两种可行的修改方案:

方案1:拆分引号精准拼接变量

把变量部分用双引号包裹,和单引号的查询语句片段拼接,确保Shell只解析变量部分:

aws rds --region us-east-2 describe-db-snapshots --filters Name=db-instance-id,Values=acme --query 'DBSnapshots[?SnapshotCreateTime<`'"$expiry_date"'`].DBSnapshotIdentifier'

方案2:将整个查询参数用双引号包裹

如果你的查询语句里没有其他Shell特殊字符(比如空格、额外的$符号),也可以直接把--query的内容用双引号包裹:

aws rds --region us-east-2 describe-db-snapshots --filters Name=db-instance-id,Values=acme --query "DBSnapshots[?SnapshotCreateTime<`$expiry_date`].DBSnapshotIdentifier"

注意事项

方案1更稳妥,因为如果查询语句包含其他Shell敏感字符,双引号可能引发意外解析,拆分引号的方式能精准控制变量替换的范围,避免潜在问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 21:15:53