前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >系统无ifconfig,一条命令获取本机ip并将其赋值给指定变量来使用

系统无ifconfig,一条命令获取本机ip并将其赋值给指定变量来使用

作者头像
耕耘实录
发布2018-12-20 14:48:09
2.2K0
发布2018-12-20 14:48:09
举报
文章被收录于专栏:耕耘实录

版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢

在Linux系统中,准确地获取本机IP信息是非常有用的。在写bash shell脚本事经常会用到IP,这时就需要我们使用一些办法获取本机IP并赋值给变量来使用。最近刚刚完成grep及sed的摸索、研究,本着学以致用的原则,用一条命令获取本机IP并将其赋值给某个变量来使用。由于CentOS7.2中已经不再集成ifconfig我们就使用系统自带的ip命令来完成这一系列实验。

一、获取本机IP

代码语言:javascript
复制
[root@GeekDevOps ~]# ip a|grep -w 'inet'|grep 'global'|sed 's/^.*inet //g'|sed 's/\/[0-9][0-9].*$//g'
10.1.1.21

在此条命令中,-w指定完全匹配,global进一步限定了范围,后面的两个sed则替换了指定行中的无关部分。此时命令也可以写成:

代码语言:javascript
复制
[root@GeekDevOps ~]# ip a|grep -w 'inet'|grep 'global'|sed 's/.*inet //g'|sed 's/\/[0-9][0-9].*$//g'

上面的命令中有一个空格,为了更好地区分开来,写成如下:

代码语言:javascript
复制
[root@GeekDevOps ~]# ip a|grep -w 'inet'|grep 'global'|sed 's/.*inet.//g'|sed 's/\/[0-9][0-9].*$//g'
10.1.1.21

二、把指定获取到的值赋给指定变量(两种方法)

代码语言:javascript
复制
[root@GeekDevOps ~]# echo $IP

[root@GeekDevOps ~]# IP=$(ip a|grep -w 'inet'|grep 'global'|sed 's/^.*inet //g'|sed 's/\/[0-9][0-9].*$//g')
[root@GeekDevOps ~]# echo $IP
10.1.1.21
代码语言:javascript
复制
[root@GeekDevOps ~]# unset IP
[root@GeekDevOps ~]# echo $IP

[root@GeekDevOps ~]# IP=`ip a|grep -w 'inet'|grep 'global'|sed 's/^.*inet //g'|sed 's/\/[0-9][0-9].*$//g'`
[root@GeekDevOps ~]# echo $IP
10.1.1.21
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年02月21日,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、获取本机IP
  • 二、把指定获取到的值赋给指定变量(两种方法)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档