用awk更改no_proxy环境变量值

时间:2018-05-21 23:26:59

标签: linux awk grep

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

我可以通过运行ifconfig

来手动完成

这是我的一个流浪盒中的IP地址,

192.168.10.2
10.0.1.13
192.168.84.18

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

我试过了,

ifconfig | grep 192*它给了我ip但不是所有可用的接口。

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

2 个答案:

答案 0 :(得分:2)

您可以awk使用grep获取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

答案 1 :(得分:0)

我抓住https://www.brianparsons.net/FindIPAddresseswithawk/

的正则表达式
~$ ips=$(ifconfig | awk '{match($0,/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/); if(RLENGTH > 0) { ip = substr($0,RSTART,RLENGTH); print ip}}')
~$ echo $ips
127.0.0.1 10.65.240.107