コマンドプロンプト de UNIX
Window環境でのPerlスクリプトの実行などにUNIXぽいシェルが欲しくなって、「Unix like」なtoolを調べてみた。
VMWareを使ってWindowsにVirtualな環境でLinuxを動かせない事もないが、Windowsのコマンドラインでもイケてるツールが欲しい。
ここ(Windows で使える Unix コマンドラインツール※1)に、ほとんどのツールへのリンクがそろっている。
が...、同じようなツールがいろいろあって、どれをインストールしたら良いか迷ってしまう。
私はヘビィーなUNIXユーザではないのでCygwinを入れるのは大袈裟過ぎるし、msysはPleiadesの「Pleiades All in One eclipse」についてくるので(c/c++とeclipseと... - 愚鈍人)、それを使ってもいいのだが、
単品で使えるUnixコマンド集はないかなァ。
UNIXのシェルを使うとショートカットキーが使えたり(shell のショートカットキー適当にまとめてみた。 - Lonely Mobiler)といろいろと便利なのだが.
altキーと「.」でヒストリーからコマンドの最後の引数をとって来てくれるところはとくに便利。
Gow(【レビュー】Cygwinより手軽にUNIX風環境が手に入る「Gow」 (2) 新しいUNIX風環境「Gow」を導入する | パソコン | マイナビニュース)が良さそうだが、インストーラ付きなのが逆に気に入らない。
「GNU utilities for Win32」は開発が止まっているそうだし。
GnuWin32(Windows 7で利用するCUIコマンドを“単品”で追加するなら「GnuWin32」(1) - builder,Windows 7で利用するCUIコマンドを“単品”で追加するなら「GnuWin32」(2) - builder)が良さそうだなァと思いつつも、結局、この記事(Let's GOW - GNU on Windows のインストールと初期設定 - weemo*)を見てGOWを選択
上記の記事を参考に「Gow-0.7.0.exe」をインストール。
環境はWindows7Professonal64bit
気楽に考えていたが思はぬトラブルが...
さっそく,bashを起動してみるも、bashが起動しない。
「ls -N」を実行しても日本語のファイル名が文字化けする。
google先生に聞いてみても、gowでbashが起動しないという記事は見当たらない。
仕方がないので、先の記事(※1)にある「win-bash」も試してみたが、TABキーによるファイル補間とかCtrlキーによるカーソル移動が全然きかない。
開発も止まっているようなのでこれもボツ。
これまた先の記事(※1)にあるSteve.org.uk - GNU Bash for Windowsをダウンロードしてbashのみはこのbash.exeにショートカットを作って起動する。
結局、これを使う事に決定。
環境変数Homeに「c:\home\ユーザ名」を設定
「GNU Bash for Windows」の難点は、日本語表示は出来るが、シェルのコマンドライン上で日本語入力は出来ない事。
HOMEデレクトリの.bashrcを以下のように設定
6行目はサクラエディタを起動させるためのエィリアス
7行目はMeadowを起動させるためのエィリアス
Window上でbashのシェルスクリプトも実行可能に。
「Bashが急上昇 - 3月プログラミング言語人気 | 開発・SE | マイナビニュース」だそうだし。
シェルスクリプトについては「Windowsユーザーに教えるLinuxの常識(8):bashで始めるシェルスクリプト基礎の基礎 (1/2) - @IT」を参考。
せっかくWindowからemacsを使うならMeadowということで、ここ(Meadow - Trac)からsetup-ja.exeをダウンロードし,セットアッププログラムを実行。
windowsでemacsならxyzzyもあるけどネ。
なんか面白そうなのが、NYAOS(窓の杜 - 【NEWS】コマンドラインシェル「NYAOS」が内蔵“Lua”言語でCOMオブジェクトを制御可能に)というluaを使ってなんかできるらしいシェルがあるのでこれもインストール。(nyaos - 猫と月で戯れる - 愚鈍人も参照)
NYAOS.ORG - NYAOS 3000.jaからダウンロードしてきたファイルnyaos-3.3.8_1-win.zipを解凍、使い方は添付の「nyaos_ja.txt」を参照。
NYAOSはなかなかのスグレモノだニャ(・∀・)
NYAOSとセットでよく使われるのがConsole2(Gow+NYAOS+Console2でWindowsにUNIXライクなコンソール環境を入れてみた。 - kanonjiの日記)。
ckw-mod(ckwとnyaosで快適なCUI環境を)というのもあるらしいが今は、Console2らしい。
以下の記事を参考にさっそくConsole2をインストール,日本語対応設定,表示のズレの対応のためのフォントの設定をおこなう。
- 【ハウツー】コマンドラインを強化せよ! - 「Console」でコマンドプロンプトのタブ切り替えを可能にする (1) コマンドプロンプトのフロントエンド「Console」 | パソコン | マイナビニュース
- 覚え書き:Console2を導入する | A7Mの日記 | スラッシュドット・ジャパン
タブ形式でいろいろなシェル(bash, Nyaos, cmd.exe等)を表示,実行できる。
cmd.exeなんかと違い、シェル画面のWindowの大きさを変更できるし,コピー&ペーストの操作も便利。
ところがこの環境ではlessが動かない。
使えるページャーがないか探してみたら以下のサイトが見つかった。
Kazmix World - lv for windows 改造版を公開しました
lvコマンドの使い方は「lvコマンド - Fedoraブログ」を参照。
これでページャもOK
それにしても、既存のWindowsのコマンドプロンプトはなんであんなにダサいのかニャ~
追記
msys,mingw(MinGW - Wikipedia)のインストールについてはMinGW + MSYSのインストール方法を参照。
Windows 版 EmacsにはMeadowやxyzzyの他にも、いろいろ。 (Windows版Emacsインストールメモ - おいしいCocoaの飲み方)