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

如何跳过Cloudflare资源生成错误并继续执行脚本

解决Cloudflare资源生成脚本遇错终止的问题

问题原因

你的脚本启用了set -e选项,这个设置会让bash脚本在任意命令执行失败时直接终止运行,导致后续资源无法被处理。加上cloudflare_access_mutual_tls_certificate资源调用API时出错,直接触发了脚本退出。

解决方案

要实现单个资源生成失败时跳过、继续处理后续资源,有两种简单的处理方式:

方式1:移除全局错误终止设置

直接删除脚本中的set -e行,这样即使某个命令执行失败,脚本也会继续执行循环的下一次迭代。

方式2:针对单个命令添加错误忽略(推荐)

保留set -e(如果需要其他命令执行失败时终止脚本),但在cf-terraforming generate命令后添加错误处理逻辑,强制该命令失败时不终止脚本:

修改后的脚本如下:

#!/bin/bash

set -e
examplearray=("cloudflare_access_application" "cloudflare_access_bookmark" "cloudflare_access_ca_certificate" "cloudflare_access_group" 
"cloudflare_access_identity_provider" "cloudflare_zone_settings_override")

for example in "${examplearray[@]}"; do
    echo Extracting $example ...
    # 命令失败时输出错误提示,并返回true让脚本继续执行
    cf-terraforming generate --resource-type "$example" > "$example.txt" || {
        echo "Failed to extract $example, skipping..."
        true
    }
done

额外说明

  • 循环中数组引用改为"${examplearray[@]}",避免资源名称包含特殊字符时出现解析问题
  • 针对报错的cloudflare_access_mutual_tls_certificate资源,建议检查:
    • 资源类型名称是否正确(比如是否应为cloudflare_access_ca_certificate)
    • 你的Cloudflare账户是否有权限访问该资源的API端点
    • 账户中是否存在该类型的资源(若没有,生成命令也会执行失败)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 13:25:16