Windowsのコマンドプロンプトが不便だからBashを使いたい。だけれどCygwinはなんかアレだし、CoLinux+Cofsは別OSなのでちょっと。
gnuwin32でWindows用にコンパイルされたbashを使うことにした。
こんな感じでbash使いたい。
windows で Bashを使う選択肢として幾つか考えられる
- Windowsを諦める
- Mac/Ubuntuに変える
- 仮想化をする
- SSHでつなぐ
- Cygwinを使う。
- WindowsのServices For Unixを使う。
- GnuWin32を使ったbashを入れる。
今回はWindows用にコンパイルされたBashを使うという挑戦をした.
挑戦したけど、面倒だった。苦労多いけど得るモノは少ないかんじ。
grep / sort /uniq と 日本語でls コマンドが使えるようになったのは便利。
getgnuwin32を取ってくる
Automated gnuwin32 download tool をダウンロード
ダウンロードしたらダブルクリックして展開
download.bat を編集
set GNUWIN32_MIRROR="jaist keihanna"を追加する。
download.batを実行
%systemroot%にGnuwin32を展開入れてしまったので管理者権限が必要・・・あうち
管理者として実行してしばらく待つ。最新版のダウンロードとチェックにしばし時間が掛かる。
install.batの実行
右クリックして install.bat を実行する。→これが時間掛かるんだ
できあがったgnuwin32フォルダを移動
インストールしたい場所(私の場合 /users/takuya/apps/) にgnuwin32を移動した。
PATHを通す。
これはおなじみの作業。
(私の場合 /users/takuya/apps/gnuwin32/bin にPATHを通した
bashを持ってくる。
ここまで来ると、Cmd.exeがWget使えるようになってるので・・・・楽です。
wget でファイルをつまんで、 unzip で展開
wget http://www.steve.org.uk/Software/bash/bash-203.zip unzip bash-203.zip
実際はこんな感じ
C:\Users\takuya>wget http://www.steve.org.uk/Software/bash/bash-203.zip SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc syswgetrc = C:\Users\takuya\apps\gnuwin32/etc/wgetrc --2010-08-23 21:14:08-- http://www.steve.org.uk/Software/bash/bash-203.zip www.steve.org.uk をDNSに問いあわせています... 80.68.85.46 www.steve.org.uk|80.68.85.46|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 541395 (529K) [application/zip] `bash-203.zip' に保存中 100%[==============================================================================>] 541,395 86.6K/s 時間 6.4s 2010-08-23 21:14:16 (82.3 KB/s) - `bash-203.zip' へ保存完了 [541395/541395] C:\Users\takuya>unzip bash-203.zip Archive: bash-203.zip creating: bash-2.03/ inflating: bash-2.03/.bashrc inflating: bash-2.03/bash.dll inflating: bash-2.03/bash.exe inflating: bash-2.03/chmod.exe inflating: bash-2.03/cp.exe inflating: bash-2.03/less.exe inflating: bash-2.03/lesskey.exe inflating: bash-2.03/ls.exe inflating: bash-2.03/mv.exe inflating: bash-2.03/README.txt inflating: bash-2.03/rm.exe C:\Users\takuya>
ワンポイント bash同梱の ls.exeは文字化けしない。
GnuWin32のls.exeは文字化けしまくる。ls --show-contorl-chars をつけてもcmd.exeで動作できない。だから困ってた。でもbashパッケージに同梱のls.exeは文字化けしない。困憊オプションが違うんだろうな。
そこで、bash.zipにのls.exeをgnuwin32にコピーして文字化けを回避する。ls.exeの文字化け問題さえ回避してしまえば、使用していて困ることは起こらないのです。
cp bash-2.03/* /users/takuya/apps/gnuwin32/bin/
これでOK.
ピッピピッピうるさい。
Beep音がかなりうるさいのでビープ音をストップする
cd #ホームディレクトリに移動 echo "set bell-style visible" >> .inputrc
この後、bash を再起動
参考資料
Windowsのコマンドプロンプトでbash : 青空Linux
GnuWin32を一気に入れる方法 - Seasons.NET
Windows Services for UNIX 3.5でTcl/Tk
windowsのcmd.exeをなんとかする - neCyda
そのた
win-bash というall-in-oneパッケージもあるらしいけど。開発止まってるしおなざりだから不安。
win-bash - Browse /win-bash at SourceForge.net
Microsoft がWindowsでUnixを使えるサービスを無償で提供してくれてる。
Windows Services for UNIX ダウンロード - Google 検索