Contents
表示内容の変更
PS1という環境変数の値を変更することで、Bashのプロンプトの表示を変更することができます。例えば
[user@host:/path/to/current_directory]$
という表示にしたければ
$ export PS1="[\u@\H:\w]$ "
と設定します。ただ、毎回このコマンドを入力するのは大変なので、ホームディレクトリにある.bashrcに書き込んで、ログイン時に自動的に設定されるようにしましょう。
$ vim ~/.bashrc export PS1="[\u@\H:\w]$ "
PS1の設定値の中で使用できる特殊文字は以下のとおりです。
| \a | ASCIIのベル文字 (07) |
| \d | “曜日 月 日” という形式の日付 (例: “Tue May 26”) |
| \D{format} | formatがstrftime(3)に渡され、その結果がプロンプト文字列に挿入される。formatが空の場合には、ロケールで指定された時刻表記になる。(ブレースは必要) |
| \e | ASCIIのエスケープ文字 (033) |
| \h | ホスト名のうち最初の「.」までの部分 |
| \H | ホスト名 |
| \j | シェルによって現在管理されているジョブの数 |
| \l | シェルの端末デバイスのベース名 |
| \n | 改行 |
| \r | 復帰 |
| \s | シェルの名前。つまり$0のベース名 (最後のスラッシュ以降の部分) |
| \t | 24 時間制のHH:MM:SS形式の現在の時刻 |
| \T | 12 時間制のHH:MM:SS形式の現在の時刻 |
| \@ | 12 時間制のam/pm形式の現在の時刻 |
| \A | 12 時間制のHH:MM形式の現在の時刻 |
| \u | 現在のユーザのユーザ名 |
| \v | bashのバージョン (例: 2.00) |
| \V | bashのリリース。バージョンにパッチレベルを加えたもの (例 : 2.00.0) |
| \w | 現在の作業ディレクトリ。$HOMEの部分はチルダに短縮される。(PROMPT_DIRTRIMの値が適用される。) |
| \W | 現在の作業ディレクトリのベース名$HOMEの部分はチルダに短縮される。 |
| \! | このコマンドの履歴番号 |
| \# | このコマンドのコマンド番号 |
| \$ | 実効UIDが0の場合に#、それ以外の場合は$ |
| \nnn | 8進数nnnに対応する文字 |
| \\ | バックスラッシュ |
| \[ | 非表示文字のシーケンスの開始。これを使うと、プロンプト中に端末の制御シーケンスを埋め込むことができる。 |
| \] | 非表示文字のシーケンスを終了する。 |
色の変更
また、色を変えることもできます。色を変えたい文字列を\[\e[<色>m\]と[\e[m\]で囲みます。例えば、ユーザ名を赤くしたい場合は、
$ export PS1="[\[\e[31m\]\u\[\e[m\]@\H:\w]$ "
とします。色はANSIカラーシーケンスに従います。
色のパターン
| 30 | 黒 |
| 31 | 赤 |
| 32 | 緑 |
| 33 | 黄色 |
| 34 | 青 |
| 35 | 紫 |
| 36 | 水色 |
| 37 | 白 |
また、色の前か後ろに、セミコロンで区切って一桁の数字を入れることで、文字の装飾を指定することができます。
$ export PS1="[\[\e[31;1m\]\u\[\e[m\]@\H:\w]$ "
装飾のパターン
| 0 | なし |
| 1 | 太字 |
| 4 | 下線 |
| 5 | 点滅 |
| 7 | 反転 |
私のお気に入りは次の設定です。
$ export PS1="[\[\e[01;31m\]\u\[\e[m\]@\[\e[01;33m\]\H\[\e[m\]:\[\e[01;36m\]\w\[\e[m\]]$ "