一尘不染

Linux bash脚本提取IP地址

linux

我想在我的Debian
7.3上制作大型脚本(类似翻译和更多新的用户友好环境)。我有个问题。我只想使用命令提供给我的一些信息。例如,我的ifconfig看起来像:

eth0      Link encap:Ethernet  HWaddr 08:00:27:a3:e3:b0  
          inet addr:192.168.1.103  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fea3:e3b0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1904 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2002 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1309425 (1.2 MiB)  T

我只想在行中显示IP地址:echo“您的IP地址为:(IP_ADDRESS)”。是否有任何命令允许我执行此类操作,以便在流中搜索我想获取的信息?我知道grepsed但是我对他们不是很好。

编辑:首先要说谢谢您帮助我解决了这个问题,现在我知道更多了。其次,说项目正在进行中。如果有人会对它感兴趣,那就下午我。


阅读 584

收藏
2020-06-03

共1个答案

一尘不染

要获取您的IP地址,请执行以下操作:

echo `ifconfig eth0 2>/dev/null|awk '/inet addr:/ {print $2}'|sed 's/addr://'`

这将为您提供eth0的IP地址。

编辑:由于Ubuntu的最新版本中的接口名称更改,这不再起作用了。相反,您可以使用以下代码:

hostname --all-ip-addresseshostname -I,它执行相同的操作(为您提供主机的所有IP地址)。

2020-06-03