Назад | Перейти на главную страницу

Преобразовать $ no_proxy в gsettings ignore-hosts

Чтобы использовать Chrome в Ubuntu и уважать некоторые хосты в $ no_proxy, мне нужно установить эти значения, разделенные запятыми, с помощью

gsettings set org.gnome.system.proxy ignore-hosts <no-proxy>

где <no-proxy> форматируется как ['localhost', '127.0.0.0/8', '::1']

Как проще всего преобразовать следующую строку no_proxy в этот формат?

localhost,127.0.0.1,example.org,.example.org,company.com,.company.com

Я решил это с помощью следующей функции:

function getGnomeProxies {
  systemProxies=$1
  spacesRemoved="$(echo -e "${systemProxies}" | tr -d '[[:space:]]')"
  IFS=',' read -r -a splitArray <<< "${spacesRemoved}"

  gnomeProxies="["

  arrayLength=${#splitArray[@]}
  for (( i=0; i<${arrayLength}; i++ ));
  do
    gnomeProxies=${gnomeProxies}"'"${splitArray[$i]}

    if [ $i -lt $(( ${arrayLength}-1 )) ]
    then
          gnomeProxies=${gnomeProxies}"',"
    fi
  done
  gnomeProxies=${gnomeProxies}"']"
}