Linux下 获取本机ip地址

查ip信息可以使用ifconfig,但有时候我们需要使用脚本语句来进行自动获取。

方法一:

ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6 | awk '{print $2}' | tr -d "addr:"

当前语句可以排查出除了127.0.0.1之外的所有ip地址,但有些时候我们的虚拟机上可能会绑定的有虚拟ip,这条语句会把两个ip地址都筛选出来,除非进行前提条件我们进行了假设,可以提前知道我们需要的是哪一类的IP地址,然后进行筛选,否则可能拿不到我们需要的ip。

方法二:

nic_name=$(nmcli device | grep ethernet |grep connected|awk '{print $1}')
nic_ip=(cat /etc/sysconfig/network-scripts/ifcfg-${nic_name} | grep IPADDR | cut -d=-f2)

使用该语句可以直接查找到绑定在物理接口上的IP地址,前提需要该机器上安装有nmcli的网络管理工具,只不过这条语句只能适用于静态绑定ip地址的情况,如果是通过dhcp协议进行动态获取的地址,则获取不到ip。

 

你可能感兴趣的:(shell)