bash のインストール

Mac OS X 10.2 からは bash-2.05a が標準でインストールされるようになりました。

ホームディレクトリーに .inputrc というファイルで以下の内容を記述すると日本語が扱えるようになります。

  set convert-meta off
  set meta-flag on
  set output-meta on

ちょっと使ってみると...

  bash-2.05a$ touch 漢字.txt
  bash-2.05a$ ls -v
  漢字.txt
  bash-2.05a$

上記のように単純な操作は問題ないですが、readline の機能を使い出すとちょっと不具合がでてきますね。ここのパッチを利用しても、UTF-8 には対応していないので標準で入っている bash と同じ不具合が生じます。

Mac OS X 10.3 (Panther) では、bash がデフォルトのシェルになりました。不具合は依然残ったままです。というか、もともと readline ではマルチバイトをうまく扱えないのでパッチを作る必要があるのですが...

Mac OS X のみの環境では EUC はあまり利用しないと思いますが、他の UNIX がらみで、Mac OS X で EUC を快適に扱いたい場合、このパッチを使った bash を利用しターミナルの設定を右の図のように設定することで EUCの扱いが容易になります。

せっかくターミナルが国際化(日本語化)されたので bash も UTF-8 に対応させたいのですが時間が...

インスペクタ

Mac OS X 10.1.5 以前には、bash がインストールされていないので GNU のサイトからソースを持ってきて日本語対応してインストールします。実際の目的は、白山さんの NJE や日馬さんの JTerminal を利用してコマンドラインで快適な(?)日本語環境を実現するために bash を EUC に対応させます。

必要なモジュール ダウンロード先
GNU Shell(Bourne Again SHell) ftp://ftp.gnu.org/gnu/bash/bash-2.04.tar.gz
日本語化および Darwin 対応パッチ bash-2.04-jpatch.010408.gz

このパッチは、横田義徳さんによる bash-2.03 の日本語化パッチである bash-2.03-jpatch を元に 2.04 に対応させ(ほとんど変更していないけど...)Mac OS X および Darwin に対応させたものです。幾つか不具合を修正したので、2001/04/08 以前にパッチをダウンロードされた方は再度パッチをダウンロードし直して下さい。

bash-2.04 は、Rhapsody に対応しているので configure powerpc-apple-rhapsody とすれば作成することはできます。しかし、『Darwin に対応していない』『漢字を1文字として認識しないので <delete>, <Ctrl-F>, <Ctrl-B> 等の操作がきちんと動作しない』『<tab>によるファイル名のマッチング』等、気分的に嫌なのでパッチを作ることにしました。

まず、上記二つのモジュールをダウンロードして下さい。以降、それぞれダウンロードしたファイルが /Users/shin/tmp の下にあるものとして以下の説明を読んで下さい。また、Mac OS X に付属の Development Tools をインストールしておく必要があります。# は、シェルのプロンプトです。

    # cd /Users/shin/tmp
    # ls
    bash-2.04.tar.gz              bash-2.04-jpatch.010408.gz
    # tar xzf bash-2.04.tar.gz
    # gunzip bash-2.04-jpatch.010408.gz
    # patch -p0 < bash-2.04-jpatch.010408
    patching file bash-2.04/Makefile.in
    patching file bash-2.04/README.jis
    ...
    patching file bash-2.04/y.tab.h
    # cd bash-2.04
    # ./configure
    creating cache ./config.cache
    checking host system type... powerpc-apple-darwin1.3
    Beginning configuration for bash-2.04 for powerpc-apple-darwin1.3
    ...
    creating examples/loadables/perl/Makefile
    creating config.h
    # make
    /bin/sh ./support/mkversion.sh -b -s release -d 2.04 -p 0 -o newversion.h \
    && mv newversion.h version.h
    
          ***********************************************************
* *
* Making Bash-2.04.0-release for a powerpc running darwin1.3
* *
*********************************************************** ... ls -l bash -rwxr-xr-x 1 root wheel 1918412 Apr 4 01:41 bash size bash __TEXT __DATA __OBJC others dec hex 503808 36864 0 1396736 1937408 1d9000
# make install /usr/bin/install -c -m 0755 bash /usr/local/bin/bash /usr/bin/install -c -m 0555 bashbug /usr/local/bin/bashbug ... /usr/bin/install -c -m 644 ./bashref.html ; \ fi #

これで、日本語を利用してもカーソルの移動がきちんと動く bash が作成/インストールできました。スーパーユーザー(root) じゃないと /usr/local にインストールできないかも...
あとは、JTerminal のデフォルト Shell として登録したり、そのまま bash を実行して御利用ください。

また、上記のコンパイルの結果からもわかるように、この場合、Mac OS X (Build 4K78) では OSTYPE が darwin1.3 になります。また、/usr/local/bin にモジュールはインストールされます。もし、OSTYPE を darwin としたい場合、configure を実行する際に configure powerpc-apple-darwin と実行して下さい。

最後に、このパッチに関しての詳細は、付属の README.MacOSX, README.jis を参照して下さい(パッチを展開後作成されます)。

 

おまけ: 2001/4/9 付けで bash-2.05 がリリースされていたので、日本語化パッチを作りました。Mac OS X や Darwin に対応しているようなのですが、きちんと対応していないので、その部分の変更も行っています。

必要なモジュール ダウンロード先
GNU Shell v2.05(Bourne Again SHell) ftp://ftp.gnu.org/gnu/bash/bash-2.05.tar.gz
日本語化および Darwin 対応パッチ bash-2.05-jpatch.010410.gz
   
GNU Shell v2.05a(Bourne Again SHell) ftp://ftp.gnu.org/gnu/bash/bash-2.05a.tar.gz
日本語化および Darwin 対応パッチ bash-2.05a-jpatch.020213.gz