2.5. bash のカスタマイズ

bash で適切にカット & ペーストが出来るように設定するには、 ウィンドウの「プロパティ」ボタンをクリックし、 「その他」タブを開きます。「範囲指定に使う(簡易編集モード)(原文:Quick Edit)」 をチェックし、「高速に貼り付け」からチェックを外します。 これらの設定は、次回にショートカットから bash を起動したときにも引き継がれます。 同様に、「プログラム」タブ中にある作業ディレクトリも設定出来ます。 「%HOME%」と入力しましょう。

ホームディレクトリには bash の動作をコントロールするための 3 つの初期化ファイルを置いておくべきです。.profile.bashrc そして .inputrc です。 これらの初期化ファイルは、bash の開始前に HOME が設定されていた場合にのみ読み込まれます。

.profile(他の名称も使用出来ます。bash の man ページを参照して下さい)は bash コマンドを含んでいます。 これは、bash がログインシェルとして開始された場合、例えば bash --login として開始されたときに実行されます。 このファイルは環境変数を定義してエクスポートしたり、bash 自身、又は bash から起動されるプログラムが使用する bash 関数を定義するのに便利です。 必要であれば PATH を再定義するためにも使えます。 現在の作業ディレクトリ(DOS とは違い、デフォルトではローカルディレクトリは検索されません) もまたコマンド探索対象とするためには、 PATH の最後に「:.」を追加しておくことをお薦めします。 動作が遅くなるのを防ぐために、unset MAILCHECK を設定するか、既存のメールの inbox を MAILPATH に指定しておくべきでしょう。

.bashrc.profile と似ていますが、bash が対話的に実行される度に実行されるものです。 これは環境を通じて継承されない要素、 例えばエイリアスのようなものを定義するために使われます。 もしログインシェルを使用しないのなら、 先に検討した .profile の内容を、 代わりにこのファイルに記述したいと考えるかもしれません。

shopt -s nocaseglob

は bash にファイル名を大文字小文字の区別を無視する形で認識させることが出来ます。 .bashrc はログインシェルでは自動的に読み込まれないことに注意して下さい。 .profile 中で読み込ませることは出来ます。

.inputrc は、 プログラムがどのように readline ライブラリ (bash に含まれています)を扱うかをコントロールします。 このファイルは自動的に読み込まれます。 完全な詳細については readline のマニュアル中の Function and Variable Index を参照して下さい。 以下のような設定について考えてみましょう。

# 補完時に大文字小文字の違いを無視する
set completion-ignore-case on
# bash を 8 ビットクリーンにする
set meta-flag on
set convert-meta off
set output-meta on

最後のコマンドは、ファイル名補完において大文字小文字の区別を無視させます。 Windows 環境では便利です。次の 3 つのコマンドは bash が 8 ビット文字を表示出来るようにするものであり、アクセント付きの文字を使用する言語では有効でしょう。 lessls のように readline を表示に利用しないツールでは、更なる設定が必要です。 .bashrc に以下の内容を記述して下さい。

alias less='/bin/less -r'
alias ls='/bin/ls -F --color=tty --show-control-chars'

訳注: 上に記述された .inputrc.bashrc におけるは、日本語を利用する際にも有用です。 なお、一部で流布している「.inputrcset kanji-code sjis を記述する」という設定方法は、日本語化パッチを適用していない bash では意味を持ちません。