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

Bash脚本检测$site URL在线状态,失败后10秒复测判定不可达

修复后符合需求的Bash脚本实现

原代码问题说明

  • 原代码在else分支内直接使用了仅属于循环语法的do/done关键字,没有对应for/while等循环结构作为支撑,直接触发语法解析错误
  • 原代码遗漏了「首次探测不可达后等待10秒复测」的核心业务逻辑,输出文案也和需求要求的no access不匹配

修正后的完整可运行脚本

# 替换为实际待检测的站点URL
site="https://你的目标站点.com"

# 首次发起探测
if wget --spider -S "$site" 2>&1 | grep -qwE "200|301|302"; then
    # 首次探测命中正常状态码,直接退出脚本
    exit 0
else
    # 首次探测失败,等待10秒后执行复测
    sleep 10
    # 发起第二次探测
    if wget --spider -S "$site" 2>&1 | grep -qwE "200|301|302"; then
        # 复测恢复正常,直接退出脚本
        exit 0
    else
        # 两次探测均未命中正常状态码,输出指定提示
        echo "no access"
    fi
fi

关键修正点

  • 移除了else分支内无对应循环支撑的do/done冗余关键字,彻底解决语法报错问题
  • 补全了10秒等待、二次探测的分支判断,完全匹配业务规则
  • 优化grep匹配逻辑:通过-E参数支持多状态码的正则匹配,-w参数保证状态码为整词匹配(避免类似2000这类字符串被误判为命中200状态码),-q参数静默匹配过程,无需额外手动重定向输出到/dev/null

注意:执行该脚本需要确保系统已安装wget组件,且当前运行环境有正常的外网访问权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.27 14:15:07