Linux Shell脚本中获取本机ip地址方法

本站所有内容来自互联网收集,仅供学习和交流,请勿用于商业用途。如有侵权、不妥之处,请第一时间联系我们删除!Q群:迪思分享

免费资源网 – https://freexyz.cn/

方法一:ifconfig -a

ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk {print $2}|tr -d “addr:”

命令解析

ifconfig -a       和window下执行此命令一样道理,返回本机所有ip信息  grep inet                   截取包含ip的行  grep -v 127.0.0.1      去掉本地指向的那行  grep -v inet6             去掉包含inet6的行  awk { print $2}         $2 表示默认以空格分割的第二组 同理 $1表示第一组​  tr -d “addr:               删除”addr:”这个字符串

多网卡情况

倘若有多个网卡,可能会出现多个不同网段的IP,这个时候如果还是执行上述命令就会返回多个IP,如下:

假设某个机器有192.*.*.8和10.*.*.*网段的IP,现在要实现不同网段的IP地址打印不同的输出,shell脚本如下

#!/bin/sh ip=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk {print $2}|tr -d “addr:”​` echo $ip if[[ $ip ==”10.”*]] then echo “该网段是10.*.*.*网段” else echo “该网段是192.*.*.*网段” fi

方法二:ip addr

ip addr | awk /^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)/(.*)/, “\1”, “g”, $2)}

这里涉及awk命令,暂不展开详讲,后面会专门有一篇介绍awk命令的文章哦   

到此这篇关于Linux Shell脚本中获取本机ip地址方法的文章就介绍到这了,更多相关Shell获取本机ip内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

免费资源网 – https://freexyz.cn/


© 版权声明
THE END
★喜欢这篇文章吗?喜欢的话,麻烦动动手指支持一下!★
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容