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

AWS Scheduler get-schedule返回异常ScheduleExpression求助

问题原因与解决方案

问题本质

你遇到的异常是**Shell路径扩展(Globbing)**导致的,和AWS EventBridge本身无关:

  • 执行echo $TARGET时,Shell会自动解析变量中的*通配符,将其替换为当前CloudShell工作目录下的所有文件名。
  • 你的当前目录恰好存在new_target.json和task-def.json两个文件,因此Shell把Cron表达式里的*替换成了这两个文件名,才出现了异常的表达式内容。

验证方式

执行以下命令查看当前目录的文件列表,即可确认这两个文件的存在:

ls

解决方案

有三种方法可以彻底解决这个问题:

  1. 给变量加双引号输出:
    双引号会阻止Shell解析变量内的通配符,直接输出原始JSON内容:

    TARGET=$(aws scheduler get-schedule --name MY-SCHEDULE-NAME)  
    echo "$TARGET"
    
  2. 直接指定AWS CLI输出格式:
    跳过变量存储步骤,让AWS CLI直接输出格式化后的JSON,完全避免Shell解析干扰:

    aws scheduler get-schedule --name MY-SCHEDULE-NAME --output json
    
  3. 用工具解析JSON(推荐):
    如果需要提取特定字段,使用jq工具可以精准处理JSON内容,彻底规避Shell解析问题:

    aws scheduler get-schedule --name MY-SCHEDULE-NAME --output json | jq '.ScheduleExpression'
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 01:22:38