centos 7 linux脚本只获取IP的三种方法 |
您所在的位置:网站首页 › linux打印设备ip地址命令 › centos 7 linux脚本只获取IP的三种方法 |
在编写脚本的时候,我们会经常需要获取本机IP地址。今天,我就将自己常用的三种方法分享给大家,希望能对大家有些帮助。 环境:linux centos 7系统[root@slave1 ~]# lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch Distributor ID: CentOS Description: CentOS Linux release 7.6.1810 (Core) Release: 7.6.1810 Codename: Core [root@slave1 ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) [root@slave1 ~]# rpm -q centos-release centos-release-7-6.1810.2.el7.centos.x86_64 这个方法可能是最容易想到,也是大家最常用的方法。完整命令如下: ifconfig -a|grep -o -e 'inet [0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}'|grep -v "127.0.0"|awk '{print $2}' 或者 ifconfig eth0|grep -o -e 'inet [0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}'|grep -v "127.0.0"|awk '{print $2}' 结果如下: 下面我就分步给大家讲解一下。 “ifconfig -a ” 命令:可以用来查看所有网口配置,包含了网口的IP地址。 “ifconfig eth0 ” 命令:可以用来查看eth0网口配置,只有本地网口的IP地址。 grep 命令可以用于从文件或标准输入中查找指定的字符串。 “-o”参数表示“仅显示匹配的内容”。“-e”参数表示“支持正则表达式查找” 。“-v”参数表示取反,查找不包含后面指定字串的行。正则表达式“[0-9]\{1,3\}”,其中“[0-9]”表示匹配“0-9”中的任意一个数字,“{1,3}”表示“前面的匹配数字的个数是1个至3个之间”。 awk命令,因功能强大又被称为一门编辑语言。这里只是用了它一个最基本的功能,将第2字段的值取出。 方法二:hostname -i命令:hostname -i 命令简单,但它的缺点在man帮助文档中被明文指出:它仅能在主机名能被解释时方便正常工作。 如果主机名未被解释,则显示如下: 命令:hostname -I 与方法二一样命令简单,能够显示所有配置网口的ip地址。同时它不存在方法二的缺点,即便当前主机名不能被解释时,也能正常工作。在脚本中获取IP推荐使用该方法。 如果只想获取本机eth0地址可以: hostname -I| grep -o -e '[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}' |head -n 1 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |