如何获取我自己的 IP 地址并将其保存到 shell 脚本中的变量中?
我正在寻找一种简单的方法来以编程方式提取计算机的私有IPv4 地址。
与此问题类似的内容,但仅限于私有 IP。
例如,我可以使用以下命令提取所有IPv4 地址:
ifconfig | grep 'inet addr' | cut -d ':' -f 2 | awk '{ print $1 }'
Run Code Online (Sandbox Code Playgroud)
示例输出:
6.11.71.78
10.0.2.15
127.0.0.1
Run Code Online (Sandbox Code Playgroud)
以类似的方式,我只想在私有地址空间中获取 IP。所以,参考同一个例子,输出应该是:
10.0.2.15
Run Code Online (Sandbox Code Playgroud) 解释:
我有一个小的bash脚本,它可以简单地运行任何Linux 命令(例如说ifconfig
)
ifconfig的典型输出是这样的:
eth0 Link encap:Ethernet HWaddr 30:F7:0D:6D:34:CA
inet addr:10.106.145.12 Bcast:10.106.145.255 Mask:255.255.255.0
inet6 addr: fe80::32f7:dff:fe6d:34ca/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1104666 errors:0 dropped:0 overruns:0 frame:0
TX packets:2171 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:444437904 (423.8 MiB) TX bytes:238380 (232.7 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.255.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:15900 errors:0 dropped:0 overruns:0 frame:0
TX packets:15900 errors:0 dropped:0 overruns:0 carrier:0 …
Run Code Online (Sandbox Code Playgroud)