bash – 如何使用shell验证IPv6地址格式?
发布时间:2020-12-15 21:22:29 所属栏目:安全 来源:网络整理
导读:在我的 shell中,我需要检查字符串是否是有效的IPv6地址. 我找到了两种方式,对我来说,它们都不够理想. 一个是http://twobit.us/2011/07/validating-ip-addresses/,而我想知道它是否必须如此复杂以满足这样一个共同的要求. 另一个是expand ipv6 address in she
在我的
shell中,我需要检查字符串是否是有效的IPv6地址.
我找到了两种方式,对我来说,它们都不够理想. 一个是http://twobit.us/2011/07/validating-ip-addresses/,而我想知道它是否必须如此复杂以满足这样一个共同的要求. 另一个是expand ipv6 address in shell script,这很简单,但对于Linux的主要发行版,sipcalc不是常见的默认实用程序. 所以我的问题是,有一个简单的方法或实用程序来验证带有shell的IPv6地址吗? 提前致谢. 解决方法
第一个链接中的代码不是特别优雅,但模数风格修复,我不认为你可以简化太多(并且在评论中指出,它可能已经太简单了).规范很复杂,并且要求许多可选功能,这对最终用户来说很好,但对于实现者来说却很麻烦.
您可能会找到一个通用脚本语言库,它可以将此逻辑正确地封装在库中.我的想法是Python,其中Python 3.3包含一个名为 #!/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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |