将 $no_proxy 转换为 gsettings ignore-hosts

将 $no_proxy 转换为 gsettings ignore-hosts

为了在 Ubuntu 中使用 Chrome 并让它尊重 $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

答案1

我使用以下函数解决了这个问题:

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}"']"
}

相关内容