有没有一种简单的方法来以编程方式提取 IP 地址,而无需繁琐的解析ifconfig?我不介意使用简单的命令输出处理sed来执行它,但不介意从/etc某个地方处理多行文件。我想要做的是修改 my.bashrc以在问候消息中显示主机的 IP 地址。我正在使用Ubuntu 12.04但决定在这里而不是 Ubuntu 论坛发帖,因为我认为这不是特定于发行版的。
想使用 Shell 脚本获取 IP 地址。在不知道 eth0 或 eth1 或 eth2 的情况下如何获得特定的 IP 地址。
我对获取 localhost 地址不感兴趣,想获取私有 IP 地址。
是否有一种干净、简单的方法可以从 获取网络接口的 IP 地址/proc,类似于获取网络接口的 MAC 地址的方式?
理想情况下,我只输入 cat/proc/<foo>/{interface_name}并获取 IPv4 地址。
除了cat.
如何尽可能轻松地将 eth0 的 IP 地址分配给环境变量,例如 $ip?
更新:发行版是 Ubuntu Server 12.04 LTS。
我已经发现在 Linux 上我可以列出网络设备
(cd /proc/net/dev_snmp6/ && for device in *; do echo $device; done|sort)
Run Code Online (Sandbox Code Playgroud)
但是我怎样才能获得设备的 ipv4 地址呢?
我没有安装ifconfig/ip - 我想保持这种方式。
这不是如何获取我自己的 IP 地址并将其保存到 shell 脚本中的变量?; 这是尝试恢复How can I list net work devices and ipv4 address on linux without ifconfig/ip command,该命令已被错误地标记为第一个命令的重复项。
那么,在 ip、netstat 或 ifconfig 都不可用的系统中,如何才能看到旧版 IPv4 地址呢?
该系统是一个运行最新 debian 的 docker 容器。
linux ×4
ip ×3
proc ×3
shell ×3
networking ×2
bash ×1
bash-script ×1
ioctl ×1
programming ×1
shell-script ×1
ubuntu ×1