linux灵活提取ip脚本

  • 脚本代码分解

  • 执行效果

说明

=================================================================

我个人觉得我偏向于 喜欢极简的那种风格 所以我写代码 能达到目的的情况下 代码越简单越好。

今天说这个 ip提取 一样,越简单越好。

为什么要加个灵活呢,因为 精确度高 而且不分服务器,不怕因为ip多而提取错。

只需要用到 grep,egrep,awk 这3个命令即可。

如果有不懂的,可以参考:https://blog.csdn.net/cuichongxin/article/details/106051486

前提条件

===================================================================

写进脚本之前,先执行:ifconfig | egrep '\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-9][0-9])\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-9][0-9])\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-9][0-9])\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-9][0-9])\>'

上面代码是筛选你全部ip的,如果有 输出内容,在开始写脚本。

在这里插入图片描述

脚本代码

===================================================================

因为 不同服务器可能 网段不同, 而且就算同一台服务器也可以有2个网段的ip,所以 使用固定脚本提取ip的话,很可能提取到的不是我们想要的,所以 变成接收用户参数的 提取,准确度更高,灵活性更广,我个人是这么觉得的!

完整代码


#!/bin/bash

ip=ifconfig | egrep '\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-9][0-9])\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-9][0-9])\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-9][0-9])\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-9][0-9])\>'|grep $1 2> /dev/null |awk '{print $2}'

if [ $# -ne 1 ] ;then

echo “请在执行脚本后面输入一个ip网段参数,如:0.0”

exit

else

echo “你输入的网段为:”$1

echo “提取的ip为:”$ip

fi

脚本代码分解


其实 这代码还好,都是些很基础的内容,如果有哪里看不懂的去我博客shell分类 看看 shell脚本笔记。

特别需要说明的就是脚本开头变量中的 grep $1 2> /dev/null 这一句,原理性的我不说,2> 是错误输出到文件/dev/null(无底洞文件)中, 如果我不加这一句,运行脚本时候不加变量就会提示我(是提醒,不是报错),如图:

在这里插入图片描述

执行效果


[root@control ~]$ifconfig | egrep ‘<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-9][0-9]).([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-9][0-9]).([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-9][0-9]).([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-9][0-9])>’

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值