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

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

时间:2024-01-14 11:06:26浏览次数:37  
标签:grep ip ifconfig sed GeekDevOps IP root 本机 inet


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

一、获取本机IP

[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则替换了指定行中的无关部分。此时命令也可以写成:

[root@GeekDevOps ~]# ip a|grep -w 'inet'|grep 'global'|sed 's/.*inet //g'|sed 's/\/[0-9][0-9].*$//g'

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

[root@GeekDevOps ~]# ip a|grep -w 'inet'|grep 'global'|sed 's/.*inet.//g'|sed 's/\/[0-9][0-9].*$//g'
10.1.1.21

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

[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
[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


标签:grep,ip,ifconfig,sed,GeekDevOps,IP,root,本机,inet
From: https://blog.51cto.com/ivandu/9238979

相关文章

  • 百度网盘(百度云)SVIP超级会员共享账号每日更新(2024.01.13)
    一、百度网盘SVIP超级会员共享账号可能很多人不懂这个共享账号是什么意思,小编在这里给大家做一下解答。我们多知道百度网盘很大的用处就是类似U盘,不同的人把文件上传到百度网盘,别人可以直接下载,避免了U盘的物理载体,直接在网上就实现文件传输。百度网盘SVIP会员可以让自己百度账......
  • 网络攻击技术(二)——Cross-site scripting
    网络攻击技术(二)——Cross-sitescripting 1.1.1摘要     在本系列的第一篇博文中,我向大家介绍了SQLInjection常用的攻击和防范的技术。这个漏洞可以导致一些非常严重的后果,但幸运的是我们可以通过限制用户数据库的权限、使用参数化的SQL语句或使用ORM等技术来防范......
  • NUS CS1101S:SICP JavaScript 描述:四、元语言抽象
    原文:4MetalinguisticAbstraction译者:飞龙协议:CCBY-NC-SA4.0...魔法就在于文字——Abracadabra,开门,以及其他——但一个故事中的魔法词在另一个故事中并不神奇。真正的魔法是理解哪些词起作用,何时起作用,以及为什么起作用;诀窍就是学会这个诀窍。...而这些词是由我们字母表......
  • NUS CS1101S:SICP JavaScript 描述:五、使用寄存器机进行计算
    原文:5ComputingwithRegisterMachines译者:飞龙协议:CCBY-NC-SA4.0我的目标是表明天堂机器不是一种神圣的生命体,而是一种钟表(相信钟表有灵魂属性的人将制造者的荣耀归功于作品),因为几乎所有多种运动都是由一种最简单和物质力量引起的,就像钟表的所有运动都是由单一重力引起......
  • NUS CS1101S:SICP JavaScript 描述:前言、序言和致谢
    前言原文:Foreword译者:飞龙协议:CCBY-NC-SA4.0我有幸在我还是学生的时候见到了了不起的AlanPerlis,并和他交谈了几次。他和我共同深爱和尊重两种非常不同的编程语言:Lisp和APL。跟随他的脚步是一项艰巨的任务,尽管他开辟了一条优秀的道路。尽管如此,我想重新审视他在这本书......
  • NUS CS1101S:SICP JavaScript 描述:三、模块化、对象和状态
    原文:3Modularity,Objects,andState译者:飞龙协议:CCBY-NC-SA4.0变化中安宁(即使它在变化,它仍然保持不变。)——赫拉克利特变化越大,越是相同。——阿方斯·卡尔前面的章节介绍了构成程序的基本元素。我们看到了原始函数和原始数据是如何组合成复合实体的,我们也了解......
  • 服务器IP如何隐藏
    说到IP地址,它足以作为服务器的定位标志,算是在互联网上的名片。因此,当一些黑客攻击服务器时,IP地址便会成为首要目标。为保护服务器避免受到潜在的攻击和侦察,隐藏服务器的真实IP地址是一项重要的措施。服务器IP隐藏的原理:服务器IP隐藏的基本原理是防止未经授权的用户通过直接......
  • VIM/NeoVIM:解决LuaSnip下Tab按键跳转冲突问题
    主要现象当使用LuaSnip生成片段时,即使切换过VIM模式,输入模式下的Tab按键仍然会导致光标跳转到Snippet的片段占位符处,导致光标“随机跳转”的问题。发生原因这是因为触发代码片段之后,LauSnip会一直维持一个记录占位符跳转的Session,这个Session在当前Buffer会一直持续到占位符结......
  • P9871 [NOIP2023] 天天爱打卡
    [NOIP2023]天天爱打卡题目描述小T同学非常热衷于跑步。为了让跑步更加有趣,他决定制作一款叫做《天天爱打卡》的软件,使得用户每天都可以进行跑步打卡。开发完成后,小T同学计划进行试运行,他找了大Y同学来帮忙。试运行共\(n\)天,编号为从\(1\)到\(n\)。对大Y同学来说......
  • Applescript成功实现imessage数据筛选,imessage蓝号检测,无痕检测手机号是否注册imess
    一、imessages数据检测的两种方式:1.人工筛选,将要验证的号码输出到文件中,以逗号分隔。再将文件中的号码粘贴到iMessage客户端的地址栏,iMessage客户端会自动逐个检验该号码是否为iMessage账号,检验速度视网速而定。红色表示不是iMessage账号,蓝色表示iMessage账号。2.编写苹果MacOs......