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

简介: 在Linux系统中,准确地获取本机IP信息是非常有用的。在写bash shell脚本事经常会用到IP,这时就需要我们使用一些办法获取本机IP并赋值给变量来使用。

在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
相关文章
|
消息中间件 分布式计算 算法
深入理解Zookeeper系列-3.Zookeeper实现原理及Leader选举源码分析(上)
深入理解Zookeeper系列-3.Zookeeper实现原理及Leader选举源码分析
1225 0
|
缓存 API 网络架构
DRF视图详解:从基础视图到通用视图实践指南
在 Django REST Framework (DRF) 开发中,视图是处理 HTTP 请求并返回响应的核心组件。DRF 提供了多种视图类型,从基础的 APIView 到功能丰富的通用视图。本文将详细介绍视图的演进过程,帮助理解不同视图的设计思想和使用方法。
429 0
|
分布式计算 物联网 虚拟化
《深度揭秘:软总线如何实现异构网络组网及其独特优势》
软总线技术是解决异构网络组网难题的关键力量,通过协议抽象与归一化、总线中枢智能解析、动态拓扑构建及设备虚拟化管理等方式,实现高效互联。它降低开发复杂度,提升设备兼容性与扩展性,保障数据传输的高效性与稳定性,为万物互联提供坚实支撑。在智能家居、智能工厂和交通等领域,软总线展现出强大优势,推动多设备协同与智能化发展,助力数字化转型与未来创新。
754 3
|
消息中间件 Linux API
centos7 安装rabbitmq自定义版本及配置
centos7 安装rabbitmq自定义版本及配置
|
SQL 关系型数据库 MySQL
【MySQL基础篇】多表查询(隐式/显式内连接、左/右外连接、自连接查询、联合查询、标量/列/行/表子查询)
本文详细介绍了MySQL中的多表查询,包括多表关系、隐式/显式内连接、左/右外连接、自连接查询、联合查询、标量/列/行/表子查询及其实现方式,一文全面读懂多表联查!
2812 2
【MySQL基础篇】多表查询(隐式/显式内连接、左/右外连接、自连接查询、联合查询、标量/列/行/表子查询)
|
供应链 安全 数据安全/隐私保护
在 Active Directory 中批量管理组和用户的方法
Active Directory (AD) 是 Microsoft 提供的目录服务,用于管理数字身份。随着组织规模的扩大,AD 的管理复杂性增加,可能导致安全漏洞。本文介绍了批量管理 AD 组和用户的方法,包括使用管理工具、分离用户和计算机 OU、创建独立的安全组 OU、使用安全组分配权限、创建受限制的本地组、定期清理 AD、自动化常见任务和实施变更控制。这些方法有助于提高管理效率和安全性。
514 1
|
运维 监控 网络协议
|
应用服务中间件 API nginx
nginx配置反向代理404问题
【10月更文挑战第18天】本文介绍了使用Nginx进行反向代理的配置方法,解决了404错误、跨域问题和302重定向问题。关键配置包括代理路径、请求头设置、跨域头添加以及端口转发设置。通过调整`proxy_set_header`和添加必要的HTTP头,实现了稳定的服务代理和跨域访问。
7727 1
nginx配置反向代理404问题
WK
|
数据安全/隐私保护
QTextEdit
QTextEdit是Qt框架中的高级文本编辑控件,支持富文本格式、图像、列表和表格的插入,优化处理大型文档,支持HTML和Markdown格式,提供段落和字符级别的格式控制,以及占位文本提示。常用成员函数包括设置和获取文本内容、文本格式设置等。QTextEdit还提供了多种信号和丰富的交互功能,适用于需要处理复杂文本的应用场景。
WK
878 1