有条件的环境代理?

有条件的环境代理?

我的 bash_profile 中有以下代理信息:

export http_proxy=http://work.proxy.address.com:8080
export https_proxy=$http_proxy
export no_proxy="localhost,.workURL.com"

这使我能够运行 Homebrew 之类的东西,而无需在工作时切换我的 wifi(我们有两个 wifi 网络 - 一个是代理的)。问题是,如果我在家并且没有连接到代理,我就无法使用 Homebrew 或将提交推送到 Github,除非我注释掉代理内容。

是否可以根据我连接的网络有条件地使用这些代理环境变量?

答案1

既然你在谈论自制程序,我假设你使用的是 Mac。您可以使用机场获取您的 SSID,然后据此设置条件。我有以下内容:

export CURR_SSID="$(airport -I | awk '$1 ~ "^SSID"{print $2}' | tr -d " ")"

我出于某种原因删除了空格,但这并不是真正必要的。

然后你可以基于此创建一个条件:

if [[ $CURR_SSID == 'workSSID' ]]; then
  export http_proxy=http://work.proxy.address.com:8080
  export https_proxy=$http_proxy
  export no_proxy="localhost,.workURL.com"
fi

相关内容