分别提取networking接口的ip,mask和gateway

我知道命令ifconfig会给你一个给定的networking接口的IP,掩码和网关。 我想“编程”分别提取每个参数。 目前我能想到的最好的解决scheme是使用grep来做一些parsing。

ifconfig标志来挑出ip,掩码或网关? 是否有其他* nix命令将只提取给定networking接口的一个参数?

这些论文不是很详尽,但似乎至less起作用:

对于bond0:

获取IP

ifconfig | awk'/ bond0 / {getline; 打印}“| awk'{print $ 2}'| awk'BEGIN {FS =“:”}; {print $ 2}'

获取广播地址:

ifconfig | awk'/ bond0 / {getline; 打印}“| awk'{print $ 3}'| awk'BEGIN {FS =“:”}; {print $ 2}'

获取networking掩码:

ifconfig | awk'/ bond0 / {getline; 打印}“| awk'{print $ 4}'| awk'BEGIN {FS =“:”}; {print $ 2}'

和网关:

路线| awk'/ default / {print $ 2}'

肯定有人会更简单或直接地到达那里。

希望这可以帮助。