今回は,シェルのプロンプト文字列について解説します。シェルのプロンプト文字列は,シェル変数として設定されています。Fedora CoreやVine Linuxでのシェルのプロンプトを例に,設定内容を説明します。

シェルのプロンプト文字列

 シェル(bash)のプロンプト文字列はシェル変数PS1に設定されています。同様のシェル変数にPS2があります。PS2もプロンプト文字列ですが,コマンド入力の途中で行をかえたり,入力に不足がある場合などに出力されます(PS2のプロンプト文字列を出力させる簡単な方法は,コマンド入力の途中で「\」を入力して改行することです)。

 Fedora Core 3およびVine Linux 3.1では,次のような文字列がデフォルトのプロンプトとして設定されています。

ここで,プロンプト文字列は空白文字が含まれますので,「'」で囲んでいます。また,「\」は「\」と表示されることがあります。「\u」はユーザー名,「\h」はホスト名,「\W」はカレント・ディレクトリ名を表します。「\$」の「\」はメタキャラクタで,直後の特殊文字($)をそのまま出力,すなわちメタキャラクタとして扱わないことを指定しています。

 例えば,ユーザー名「jun,ホスト名「snowbird」,カレント・ディレクトリはホーム・ディレクトリ(/home/jun)の場合,プロンプトは以下のように出力されます。

 ユーザーはシェルのプロンプトを自由に変更することができます。設定可能なプロンプト文字列の詳細は,bashのオンライン・マニュアルなどを参照してください。変更を次回以降も有効にしたい場合には,設定をホーム・ディレクトリ上の「.bashrc」ファイルに保存します。

 なお,tcsh(あるいはcsh)のプロンプト文字列はシェル変数promptおよびprompt2に設定されています。bashと同じプロンプト文字列を出力したい場合には,

と設定します。csh系シェルではプロンプトに「$」ではなく,「%」を利用することが一般的です。


「再入門 体で覚えるLinuxの基本」の目次ページはこちらから