我的 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