たとえば、cpanm とか叩くときに、手で HTTP_PROXY とかの環境変数指定してもいいんだけど、 ウチのプロキシはパスワードも要求されるので、環境変数消し忘れるとパスワードが残っちゃう のが嫌だなぁとか思ったり。(ある程度見えちゃうのは仕組み上どうにもならんので、なるべく残らない ようにしたいな、と思った)

で、こういう問題ってみんなある程度持ってそうだし、もっといい既存ツールありそうなんだけど、 うまい検索ワードが思いつかなかったのでとりあえず自分で書いた。

#!/bin/sh

trap "stty echo; exit 1" 2
user=''
pass=''

stty -echo
echo -n "username: "
read user
echo
echo -n "password: "
read pass
echo

stty echo

# プロキシのアドレスは本物と変えてます
export http_proxy="http://$user:$pass@10.12.34.56:8888/"
export https_proxy="http://$user:$pass@10.12.34.56:8888/"

# コマンドを実行
$*

exit 0

たとえばこのスクリプトを proxy_cmd.sh という名前でパスの通ったところに置いて、

$ proxy_cmd.sh cpanm Plack

とかすると、いい感じにユーザ名とかパスワード聞いて、http_proxy とかの環境変数セットして cpanm 叩いてくれます。