ある日、研究室にて。ある学生さんとの会話
学生:『センセー、いんたーねっとデキマセン。IPアドレスは、192.168.11.・・・』
元木:『どれどれ、画面を見せて下さいな・・・確かに失敗してますね。』
元木:『ネットワークの設定や状況は大丈夫ですか? 見せて下さい。』
学生:『はい(カタカタ・・・)』
学生:『IPは取れてますし、DNSサーバのIPも書かれています。default routeもあります。default (gateway)やプロキシサーバからのpingの返事もあります・・・(涙』
元木:『(ふんふん)・・・! (wget用に)プロキシの環境変数設定してありますか?』
学生:『・・・』
元木:『ほらほら、コマンド打って! shell は bash ですね? では、e n v パイプ・・・』
学生:『(カタカタ・・・)』
学生&元木:『・・・!!!』
元木:『Webブラウザにプロキシの設定がしてあるからって、他のアプリケーションが同じ設定を参照するとは限りませんからね。では、正しい設定を行ってから、wgetをもう一度、実行してみて下さい。』
学生:『はい(カタカタ・・・)』
学生:『!・・・センセー、出来ましたぁ ;_; 』
とまぁ、このような形で話を済ませていました。さて、学生さんがせっかく wget のソースを調達してくれたことですし、wget コマンドの中で、どうやって環境変数を参照しているのかを、簡単に調べてみましょう。
retr.c というファイルの中で、http_proxy という環境変数から getenv しているのが分かりますね。getenv 関数ですが、オンラインマニュアルを見たら、そのまんまの説明でした。:)