コンピュータのセットアップってほんとにめんどくさいなー。ハーッ(ため息)。
僕の場合まずは、MinGW/MSYS。インストールの仕方は次に書いておいた(記録は役に立つなー)。
- 「MinGW/MSYSをインストールした(何度目かな?)」
http://d.hatena.ne.jp/m-hiyama/20100108/1262923866
インストールが終えたら、パス環境変数を直す。僕の場合は:
- 新しいパス = %既存のパス%;C:\Installed\MinGW\bin;C:\Installed\msys\1.0\bin
Windows 7 ではコントロールパネルに検索フィールドが付いたので、そこで「環境変数」と検索できる。ここは便利にはなったけど、そもそも頻繁に環境変数を書き換える僕にとっては、あの設定インターフェースは最低。
「MinGW/MSYSをインストールした(何度目かな?)」には書いてないのだけど、注意しなくちゃならないことがあるので今回はそれも書いておきます(自分でもハマるから)。
bashが初期化に使うファイルってのが色々あって、憶えられないのだけど、次の記事に書いてあります。
- 「.bash_profileと.bashrcの違いは」
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/168bpronrc.html - 「bashの便利な機能を使いこなそう」
http://www.atmarkit.co.jp/flinux/rensai/theory09/theory09b.html
それによると、ログイン時は次の順で初期化スクリプトが実行される、と。
- /etc/profile
- ~/.bash_profile
- ~/.bash_login
- ~/.profile
ログインシェルであるかどうかに関わらず ~/.bashrc は実行され、ログアウト時には ~/.bash_logout 。
でも、MSYSのbashはそうなってません。(ここらへんはあんまりキッチリ決まってないのか?)
C:\tmp>bash --login This is /etc/profile This is ~/.bash_profile hiyama@TP-X200-HIYAMA ~ $ exit logout This is ~/.bash_logout C:\tmp>
C:\tmp>bash This is ~/.bashrc bash-3.1$ exit exit C:\tmp>
~/.bash_login と ~/.profile は作っても実行されません。(←ウソ、追記参照。)それと、ログインシェルでは ~/.bashrc が実行されません。
次の1行を、/etc/profile か ~/.bash_profile に書いておく必要があります。
[ -f "$HOME/.bashrc" ] && source "$HOME/.bashrc"
~/.bash_profile から ~/.bashrc を読み込むようにしておくなら:
C:\tmp>bash --login This is /etc/profile This is ~/.bash_profile This is ~/.bashrc hiyama@TP-X200-HIYAMA ~ $ exit logout This is ~/.bash_logout C:\tmp>
実際には、僕はファイルが増えるのがイヤなんで、/etc/profile からsourceしてます。
[追記]~/.bash_profile がなければ、~/.bash_login が実行され、それもないと、~/.profile が実行されるようです。[/追記]