我想读取所有接口(interface)的IP地址并将其设置为centos机器中的no_proxy变量。

我可以通过运行ifconfig手动完成

这是我的 Vagrant 框之一中的IP地址,

192.168.10.2
10.0.1.13
192.168.84.18

但是我大约有13个盒子,每次打开盒子时都会动态设置ips。

我试过了,
ifconfig | grep 192*,它为我提供了ip,但没有提供所有可用的接口(interface)。

如何设置所有接口(interface)ip并将其分配给no_proxy变量?

最佳答案

您可以使用awkgrep来获取CentOS机器中的IP地址,然后使用tr命令删除\n

noip="$(ifconfig | grep inet | awk '{print $2","}' | tr -d '\n')"

它会给你,
192.168.10.2,10.0.1.13,192.168.84.18,

将其导出如下,包括localhost和回送地址,即127.0.0.1
export no_proxy=${noip}localhost,127.0.0.1

因此,您的完整代码将是,
noip="$(ifconfig | grep inet | awk '{print $2","}' | tr -d '\n')"
export no_proxy=${noip}localhost,127.0.0.1

关于linux - 使用awk更改no_proxy环境变量值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50457787/

10-11 22:42
查看更多