【コラム】

OS X ハッキング!

69 Pantherを追いかけて(1)~bash編~

    海上 忍  [2003/10/31]

    Pantherのインストールは済んだだろうか? 筆者はアップルストアに予約注文していたので、パッケージは土曜の午前中に到着。すぐさま愛機G4Cubeにクリーンインストールしたところ……うひゃっ。続きはPCWEBに掲載のPanther特集でどうぞ。

    さて、今回はPanther関連シリーズの第1弾、bashの環境設定について。新しくなったTerminalを起動すればわかるが、Pantherではデフォルトのシェルがbashに変更されたのだ。シェルの設定は次回以降にも影響してくるため、最初に必要最小限の設定を済ませてしまおう。

    ○時代の流れを感じました

    デフォルトのシェルがbashに変更されたことは、それなりの意味を持つ。Terminalの設定が変更されただけならば、対話的ログインに用いられるシェルの変更ということでそれほど重要な意味はないが、「nidump passwd .」と実行してNetInfoデータベースを参照すればわかるように、今回はrootのログインシェルも/bin/sh、すなわちbashに--「cmp -s /bin/sh /bin/bash」で確認しよう--変更されている。

    念のため補足しておくと、bashをデフォルトのシェルに使用しているUNIX系OSの筆頭格がLinuxだ。巷のLinuxディストリビューションでは、シェルスクリプトの処理などに欠かせない「/bin/sh」は「/bin/bash」のハードリンクとされていることが多く、bashなしにはシステムが成り立たない。一方の*BSD陣営では、「/bin/sh」の実体はash(FreeBSDの場合)であるなど、bashはどちらかと言えばオプション的な存在だ。

    なお、OS Xでは以前から/bin/shの実体がbashとなっていたため、今回の変更がシステムに与える影響はほとんどないはず。とはいえ、bashをデフォルトのシェルに採用した*BSDを筆者は目にしたことがなく、どうにも違和感を覚えてしまう。そういえば、NEXTSTEPでは/bin/cshがrootのログインシェルだったなあ……って、今もシツコく使ってるんですけどね。

    ○bashで日本語を使うための設定

    ともあれ、bashがデフォルトのシェルとなった以上、ある程度はbashに慣れておくべきだ。プロンプトの設定などカスタマイズしだすとキリがないので、とりあえずは以下の2つのファイルを用意しておこう。

    ・~/.bash_profile

    export PATH=/usr/local/bin:$PATH
    export LANG=ja_JP.UTF-8
    export LESSCHARSET=utf-8

    ・~/.inputrc

    set convert-meta off
    set output-meta on
    set input-meta on

    「~/.bash_profile」に記述した内容だが、第1行では/usr/local/binをコマンドサーチパスに加えている。これがなければ、自力でインストールしたコマンドの多くは実行できなくなるはずだ。続く第2行では、LANG環境変数にUTF-8で符号化された日本語を使うべく「ja_JP.UTF-8」を定義している。この効果は、Terminalの表示用文字コードにUTF-8を選択(デフォルト)しているとき、「tar --help」を実行すればわかるはず。第3行も同様に、ページャの「less」でUTF-8のテキストファイルを表示するためのものだ。

    「~/.inputrc」では、bashでマルチバイト文字を扱うときに必要な設定を行っている。bashが入力や表示に使用するライブラリ「readline」は、デフォルトでは8bitの文字情報を通さないため、それを無効化するための措置だ。この作業を省略すると、プロンプトで日本語を入力したときに文字化けしてしまう。

    ○やはりtcshがいい人には

    デフォルトのシェルはbashに変更されたが、通常の作業にbashの使用が義務付けられたわけではない。tcshのほうが好みならば、Terminalの環境設定画面で[このコマンドを実行する]ラジオボタンを有効にして、下の空欄に「/bin/tcsh」と入力すればOK。これで次回Terminalの新規ウインドウを開くときには、tcshが起動される。

    なお、Pantherに収録されたtcshは、マルチバイト文字を通すためのオプションを有効にした状態でコンパイルされている。Jaguarのときのように、日本語を扱うために再コンパイルする必要はなく、初期化ファイルに以下の記述を加えるだけでOKだ。

    ・~/.tcshrc

    unset nokanji
    set dspmbyte=utf8

    バックナンバー
    http://pcweb.mycom.co.jp/column/osx.html

    新着記事

    特設サイトの情報

      人気記事

      一覧

        イチオシ記事

        新着記事

        特別企画

        マイナビニュースマガジン