gpt4 book ai didi

bash - 如何使用 shell 验证 IPv6 地址格式?

转载 作者:行者123 更新时间:2023-11-29 09:10:10 44 4
gpt4 key购买 nike

在我的 shell 中,我需要检查字符串是否是有效的 IPv6 地址。

我找到了两种方法,但对我来说都不够理想。

一个是http://twobit.us/2011/07/validating-ip-addresses/ ,虽然我想知道对于这样一个常见的要求它是否必须如此复杂。

另一个是expand ipv6 address in shell script ,这很简单,但是对于 Linux 的主要发行版,sipcalc 并不是一个常见的默认实用程序。

所以我的问题是,是否有一种简单的方法或实用程序可以使用 shell 验证 IPv6 地址?

提前致谢。

最佳答案

第一个链接中的代码不是特别优雅,但模数风格修复,我认为你不能再简化太多(如评论中所示,它可能已经太简单了)。该规范很复杂,并且要求提供许多可选功能,这对最终用户来说很好,但对实现者来说却很麻烦。

您可能会找到一个通用脚本语言的库,该库将此逻辑正确封装在一个库中。我会想到 Python,Python 3.3 确实包含一个名为 ipaddress 的标准模块。 ;对于旧版本,尝试类似的东西

#!/usr/bin/env python
import socket
import sys
try:
socket.inet_pton(socket.AF_INET6, sys.argv[1])
result=0
except socket.error:
result=1
sys.exit(result)

另见 Checking for IP addresses

关于bash - 如何使用 shell 验证 IPv6 地址格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26796769/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com