J

Mac のターミナルで、プロキシ設定を環境に合わせて自動切替

目的

ノートPCを利用していると、職場ではプロキシ環境、自宅ではプロキシなしといった状況が出てくる。このとき、Mac では、通常、ネットワーク接続から簡単にネットワーク環境を切り替えることができるため、職場用と自宅用の設定を用意しておくことで(自動切替ではないが)解決する。

一方、Mac のターミナルでは、実は上記のネットワーク環境を通さないで接続されてしまうため、別途プロキシ設定をする必要がある。ホーム配下に .bash_profile あたりに設定を書き込めば良い。今回は、この「書き込む」が問題なのだ。職場でプロキシ設定を書き込む。自宅ではその設定を消す(コメントアウトする)。いちいち、ターミナルを開いて.bash_profileを開いて、対応する行まで移動して、コメントアウトしたり外したり、面倒だ。そこで、プロキシ設定を読み込むかどうかをスクリプトで書けば環境に合わせて自動で切り替えることができるのではないかと考え、ググると、ありました。

Macのネットワーク環境に合わせてHTTP_PROXYを切り替えるシェルスクリプト - Qiita
http://qiita.com/o_ame/items/b9991d1f86b23f4a184d

方法

.bash_profileを編集

> cd
> vi .bash_profile

以下の内容を.bash_profileに追記する。

# プロキシサーバ: proxy.xxx.yyy.zzz.jp:80
# ネットワーク設定名: プロキシ設定

proxy_name=http://proxy.xxx.yyy.zzz.jp:80
switch_trigger=プロキシ設定

if [ "`networksetup -getcurrentlocation`" = "$switch_trigger" ]; then
   export http_proxy=$proxy_name
   export https_proxy=$proxy_name
   export ftp_proxy=$proxy_name
fi

とすれば良い。
偉大な先人に多謝。