http_proxy環境変数からホスト名、ポート、ユーザー名、パスワードを抽出
bashのTIPSとして、bashでhttp_proxy環境変数からホスト名、ポート、ユーザー名、パスワードを分離する方法を紹介します。
CIなどでファイルにプロキシ設定する場合などにどうぞ
if [[ $http_proxy = *@* ]]; then
ADDR=${http_proxy#*://}
AUTH_INFO=${ADDR%@*}
ADDR=${ADDR#*@}
echo "ホスト名=${ADDR%:*}"
echo "ポート番号=${ADDR#*:}"
echo "ユーザー名=${AUTH_INFO%:*}"
echo "パスワード=${AUTH_INFO#*:}"
else
ADDR=${http_proxy#*://}
echo "ホスト名=${ADDR%:*}"
echo "パスワード=${ADDR#*:}"
fi
ちょっと解説
if [[ $http_proxy = *@* ]]
これは、認証あり(http://user:pass@host:port
)か
なし(http://host:port
)かを判定しています。
その後は文字列の抜き出しです。
↑などを参考にしました。