我正在尝试仅使用IP地址(inet)作为我编写的脚本中的参数。
在unix终端中,有没有一种简单的方法可以只获取IP地址,而不是通过ifconfig
查找
发布于 2011-12-16 10:46:36
您可以编写一个只返回IP的脚本,如下所示:
/sbin/ifconfig eth0 | grep 'inet addr' | cut -d: -f2 | awk '{print $1}'
对于MAC:
ifconfig | grep "inet " | grep -v 127.0.0.1 | cut -d\ -f2
或用于linux系统
hostname -i | awk '{print $3}' # Ubuntu
hostname -i # Debian
发布于 2014-11-02 07:02:43
这将为您提供所有IPv4接口,包括环回127.0.0.1:
ip -4 addr | grep -oP '(?<=inet\s)\d+(\.\d+){3}'
这将仅显示eth0
ip -4 addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}'
这样你就可以获得IPv6地址了:
ip -6 addr | grep -oP '(?<=inet6\s)[\da-f:]+'
仅限eth0
IPv6:
ip -6 addr show eth0 | grep -oP '(?<=inet6\s)[\da-f:]+'
发布于 2017-10-09 22:13:27
如果您的环境有限,则可以使用以下命令:
ip -4 addr show dev eth0 | grep inet | tr -s " " | cut -d" " -f3 | head -n 1
https://stackoverflow.com/questions/8529181
复制相似问题