前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux Shell脚本中获取本机ip地址方法

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

作者头像
小菠萝测试笔记
发布2020-06-09 15:09:51
26.9K0
发布2020-06-09 15:09:51
举报
文章被收录于专栏:自动化、性能测试

方法一:ifconfig -a

代码语言:javascript
复制
ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"

命令解释

  1.      和window下执行此命令一样道理,返回本机所有ip信息

ifconfig -a

  1. 截取包含ip的行

grep inet

  1. 去掉本地指向的那行

grep -v 127.0.0.1

  1. 去掉包含inet6的行

grep -v inet6

  1. 2 表示默认以空格分割的第二组 同理 1表示第一组​

awk { print $2}

  1. 删除"addr:"这个字符串

tr -d "addr:

多网卡情况

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

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

代码语言:javascript
复制
1 #!/bin/sh
2 ip=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"​`
3 echo $ip
4 if[[ $ip =="10."*]]
5 then
6 echo "该网段是10.*.*.*网段"
7 else
8 echo "该网段是192.*.*.*网段"
9 fi

方法二:ip addr

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-01-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 方法一:ifconfig -a
    • 命令解释
      • 多网卡情况
      • 方法二:ip addr
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档