无管道获取单个IP地址

时间:2018-04-20 22:40:37

标签: bash ip hostname ifconfig

Centos7使用bash。我需要设置一个环境变量$IP。但是,设置变量的命令是通过公司系统完成的,该公司系统期望|是变量之间的分隔符(即,我以myIP=something|myOtherIP=something_else|envVar3=17的形式向系统传递一个列表)。

我正在计划一个IP地址始终在内部(10.x.x.x)的用例。是否有任何命令只能返回我关心的一个IP地址,而不使用管道?

hostname -i返回错误的地址(不以10开头)。 hostname -I包含正确的地址,但在七个列表中排名第二。我可以使用hostname -Iifconfig轻松获取IP,但它涉及到grep的管道,然后使用正则表达式来查找以10开头的那个。我怀疑是否有任何简单的方法(老实说,我怀疑它是否可能),但我想我还是会问。

2 个答案:

答案 0 :(得分:1)

这样的事情?

pid

答案 1 :(得分:0)

作为abhishek phukan答案的替代方案,如果您总是想要列表中的第二个IP,您可以使用:

cut -f2 -d' ' <<< `hostname -I`

感谢abhishek的精彩回答!

相关问题