WSLでproxy環境と非proxy環境の切り替えをいい感じに切り替える
WSL、使っていますか?
僕は稀に使っています。
proxy環境下にいるときに、terminalでhttp_proxyを切り替えるのってめんどくさいですよね。
なのでここではWSL環境でhttp_proxyなどをいい感じに切り替える方法を紹介します。
この記事のWSL版です。
スクリプト
上の記事ではSSIDを取得する際に、 nmcli
を使っていたためWSLでは動かすことができませんでした。
なので、SSIDを取得するためにWindowsの netsh
というものを叩いて取得することにしました。
#!/bin/sh proxy=環境にあわせたproxy_address switch_tori=proxy環境下のssid function set_proxy() { export http_proxy=$proxy export https_proxy=$proxy export ftp_proxy=$proxy export all_proxy=$proxy git config --global http.proxy $proxy git config --global https.proxy $proxy git config --global url."https://".insteadOf git:// } function unset_proxy() { unset http_proxy unset https_proxy unset ftp_proxy unset all_proxy git config --global --unset http.proxy git config --global --unset https.proxy git config --global --unset url."https://".insteadOf } function get_ssid() { echo `netsh.exe wlan show interfaces | awk '$1~/SSID/{print $3}' | awk 'NR==1'` } echo `get_ssid` if [ "`get_ssid`" = "$switch_tori" ]; then echo -e "\e[31mSwitch to proxy for school network\e[m" set_proxy else echo -e "\e[36mUnset proxy settings\e[m" unset_proxy fi
この記事と違うところは get_ssid
の中の部分です。
もともと grep
してそれを awk
しようと思っていたのになぜかpermissionで怒られるのでこれに落ち着きました...
さいご
WSL2楽しみですね。
awkが2つに分かれてしまったのがつらいので、シェル芸に強い人がいたらまとめる方法教えてくれると嬉しいです。