这是在某些情况下可以帮助我们的另一个技巧。 我做这个帖子更多是为了提醒,因为我知道在某个时候我将再次需要这个哈哈哈。
当我们在做一些脚本时 打坏,并且用户必须输入一个IP地址,稍后我们(脚本)使用该IP地址进行操作,您知道哪里可能出错吗? ...用户不输入IP,放置任何废话或不完整的IP或类似的东西,那些编程的人都知道我的意思...必须进行编程,以为即使最荒诞的事情也会发生 O_O.
为了避免这种情况,有一些功能或方法可以验证IP,即检查用户输入的数据是否实际上是IP。
在这里,我离开他们:
function validar_ip()
{
local ip=$ipdudosa
local stat=1
if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]];
then
OIFS=$IFS
IFS='.'
ip=($ip)
IFS=$OIFS
[[ ${ip[0]} -le 255 && ${ip[1]} -le 255 && ${ip[2]} -le 255 && ${ip[3]} -le 255 ]]
stat=$?
fi
return $stat
}
当用户输入“某物”时,该物即为变量的值 疑 ...代码为:
echo " Inserte lo que desea comprobar si es una IP."
read "ipdudosa"
现在我们将指示验证的内容或价值 疑 具有上述功能,这将检查它是否实际上是IP。 如果是IP,它将这样说;如果不是,它将告诉我们它不是IP:
if validar_ip ipdudosa;
then echo "Sí, es una IP correcta :D";
else
echo "No, eso NO es una IP";
fi
完整的脚本在这里:
验证IP的功能(示例)
很好看,一开始我声明是这样的: #!/斌/庆典 ...如果他们把 #!/ bin / sh的 这是行不通的,我花了整整2天的时间进行战斗和抗议,因为该功能无法正常工作,而且 sh 而不是bash哈哈哈。
除此之外,没有其他要添加的功能 蟒蛇, Perl的 和其他语言...实际上,我向您展示的这不是验证IP中IP的唯一方法 打坏,但是对我来说一直很好,这就是为什么我分享它🙂
问候
完善! 很有意思。 非常感谢。
感谢您的光临和评论😀
大! 现在,让我们尝试改编“如果[[$ ip =〜^ [0-9] {1,3} \。[0-9] {1,3} \。[0-9] {1,3} \ 。[0-9] {1,3}]];“ 这样它就可以检测到ipv6的拼写错误...暴力... o_0十六进制及其128位元中必须放置的混乱。
当然,这是我提出的一个假设案例
对于IPv6 ...该死,我什至不开玩笑...让它离开...如果我什至不甚了解IPv6的含义(操作),我什至不尝试验证IP LOL!
呵呵,如果是真的,想一想就很恐怖,但是这种方法存在exists
它已经可以工作,只需运行./script而不是sh脚本。
是的,当然,如果您使用sh脚本,它将尝试使用sh解释它...您将必须执行bash脚本以使其与./script.sh相同
嗨,谢谢您的帮助,它非常有帮助。