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

Shell脚本参数未接收:DynU公网IP更新脚本问题排查

问题排查与修复

错误分析

  1. 变量赋值方式错误:你当前的myip=wget -O - v4.ident.me 2>/dev/null && echo写法完全错误。Shell会把myip赋值为字符串wget,然后单独执行后面的命令,导致$myip根本没拿到公网IP。要捕获命令输出给变量,必须用命令替换。
  2. URL格式错误:DynU的API URL被拆成两行,换行符会被嵌入URL中,导致请求被服务端判定为无效。

修复后的完整脚本

#!/bin/bash

# 用命令替换捕获公网IP
myip=$(wget -O - v4.ident.me 2>/dev/null)
echo "当前公网IP: $myip"

# 确保URL为单行,避免换行符干扰
wget "http://api.dynu.com/nic/update?myip=$myip&username=my-username-comes-here&password=my-pwd-comes-here"

可选优化(增强稳定性)

如果网络波动导致IP获取失败,$myip会是空值,此时发送请求毫无意义,可以加个判断逻辑:

#!/bin/bash

myip=$(wget -O - v4.ident.me 2>/dev/null)

if [ -z "$myip" ]; then
    echo "错误:无法获取公网IP"
    exit 1
fi

echo "当前公网IP: $myip"
wget "http://api.dynu.com/nic/update?myip=$myip&username=my-username-comes-here&password=my-pwd-comes-here"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 14:28:16