提取DS918本机的ipv6地址

由于ddns获取本机ipv6受到多方面影响,而直接获取并不会出现问题,故可以采用如下方式,获取ipv6地址。

提取第一个 240 开头的 IPv6 地址:

ip -6 addr show scope global | awk '/inet6/ {print $2}' | cut -d/ -f1 | grep '^240' | head -n 1

🔍 示例输出:

240e:1a2:3456:7890::1

⛳ 解释简要:

  • ip -6 addr show scope global:获取所有全局 IPv6。

  • awk '/inet6/ {print $2}':提取地址部分。

  • cut -d/ -f1:去掉 CIDR(如 /64)。

  • grep '^240':只保留以 240 开头的。

  • head -n 1:只取第一个。


如你希望直接在 Shell 脚本中引用这个地址,可以这样写:

bash
ipv6_addr=$(ip -6 addr show scope global | awk '/inet6/ {print $2}' | cut -d/ -f1 | grep '^240' | head -n 1)
echo "$ipv6_addr"

方法一:用 sed 提取第 2 个地址

ip -6 addr show scope global | awk '/inet6/ {print $2}' | cut -d/ -f1 | grep '^240' | sed -n 2p

✅ 方法二:用 awk 提取第 2 个地址

ip -6 addr show scope global | awk '/inet6/ {print $2}' | cut -d/ -f1 | grep '^240' | awk 'NR==2'

发表评论

邮箱地址不会被公开。 必填项已用*标注