如何获取我的 IP 地址

如何获取我的 IP 地址

我想在上面显示我的 IP,但我发现了问题:eth0: 获取错误,有人可以帮助我吗

#!/bin/sh

echo "%{F#2495e7} %{F#ffffff}$(/usr/sbin/ifconfig eth0 | grep "inet " | awk '{print $2}')%{u-}"

答案1

您可以使用以下命令查看 IP 地址ip addr show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: enxb827eb315364: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether b8:27:eb:31:53:64 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.18/24 brd 192.168.1.255 scope global noprefixroute enxb827eb315364

这里我们有两个接口:lo带有 IPv4 地址的环回接口127.0.0.1enxb827eb315364带有 IPv4 地址的以太网接口192.168.1.18。由于该系统不运行 IPv6,因此未列出 IPv6 地址。

如果您想要一个仅包含 IP 地址本身的列表(例如以编程方式处理),您可以使用类似的内容,

ip --json addr show | jq -r '.[] | select(.ifname != "lo") | .addr_info[].local'

192.168.1.18

请注意,即使系统只有一个外部接口,也可能有多个 IP 地址。多个地址(无论是 IPv4 还是 IPv6)将每行列出一个。

相关内容