GitBash For Windows で man コマンドを使いたい
Windows の GitBash (msysGit) には man
コマンドがない。毎回「そんなコマンドねえよ」と怒られるのは悲しいので、何かしら表示させるようにしたい。
先に結論から。以下の手順で、英語だけどこれで読める感じだ。
- wget.exe をダウンロードする
- man.sh をコピペして拡張子なしの「man」というファイルを作る
- 2ファイルを
C:\Program Files\Git\usr\bin\
配下に置く - 2ファイルのアクセス権を、Users に対してフルコントロールを与える
細かく説明する。
1. wget
をダウンロードする
MinGW プロジェクトが提供している wget-1.9.1-mingwPORT.tar.bz2
を以下からダウンロードする。
- https://sourceforge.net/projects/mingw/files/Other/mingwPORT/Current%20Releases/wget-1.9.1-mingwPORT.tar.bz2/download
- リンク元 : https://sourceforge.net/projects/mingw/files/Other/mingwPORT/Current%20Releases/ (上のリンクが上手く飛べなかったらコチラから)
7-Zip などでファイルを解凍し、中に入っている wget.exe
を取り出す。
- 参考 : http://kazune-s.hatenablog.com/entry/2014/03/31/103940
- 参考 : Windowsでwgetコマンドを実行する | Coffee Breakにプログラミング備忘録
2. man.sh
をコピペして拡張子なしの「man」というファイルを作る
以下の Gist に公開されている「man.sh
」というコードをテキストエディタにコピペし、「man」という拡張子なしのファイルを作る。GitBash は拡張子なしのファイルをシェルコマンドとして扱うっぽい。
仕組みとしては man
コマンドの内容を公開しているウェブサイトの該当ページを wget
コマンドで取得して表示している様子。
3. 2ファイルを C:\Program Files\Git\usr\bin\
配下に置く
これは要は、GitBash の PATH が通っているところに wget
と man
のコマンドファイルを置くということだ。自分の環境では他の GitBash コマンドが置いてある C:\Program Files\Git\usr\bin\
を選んだというワケ。
4. 2ファイルのアクセス権を、Users に対してフルコントロールを与える
格納したコマンドファイルをコマンドとして実行するためには、ファイルにアクセス権を与えないといけない。
Program Files 配下だと管理者権限が必要になるっぽくて、GitBash 上から chmod 755 man
みたいなことをしたいのだが、chmod: changing permissions of 'man': Permission denied
と表示されてしまった。
そこで、エクスプローラから格納したファイルを右クリック → ファイルのプロパティで「セキュリティ」タブ → 「編集」ボタン → 「Users」を選択して「アクセス許可」欄から「許可 : フルコントロール」をチェック、とすることで実行できるようにした。
- 参考 : 自作コマンドの作り方
これで man
コマンドがとりあえず動作した…が
ここまで終わったら、GitBash を開いて man ls
などとすると動作確認はできたのだが、wget
でアクセスしたサイトの HTML を全て表示してしまい、<html>
だとかタグも丸見えになってしまっている。肝心の内容はサイト上で pre
要素で書かれているので、本文が読めないことはないのだが、頭とお尻の10数行に出力される HTML ソースが不要でうざったい。
とりあえず見えるからいいんだけどさ…。
などと言いつつ、ホントは日本語で表示とかもしたかったので、もっと良い方法がないか探してみる。