изменение значения переменной среды no_proxy с помощью awk - PullRequest
0 голосов
/ 22 мая 2018

Я хочу прочитать IP-адрес всего интерфейса и установить его в переменную no_proxy в centos machine.

я могу сделать это вручную, запустив 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 голосов
/ 22 мая 2018

вы можете использовать awk с grep для получения ip-адреса на ваших компьютерах CentOS, а затем команду 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
0 голосов
/ 22 мая 2018

Я взял регулярное выражение от 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...