bash:プロンプトの変更


====== 基本 ======

プロンプトは表示されるエスケープシーケンスとそうでない制御を含む部位の組み合わせで表現する。
表示されない部分を作るのは以下のエスケープシーケンス。

| [ | 表示されない文字列の開始。端末制御シーケンスをプロンプトに埋め込む。 |
| ] | 表示されない文字列の終り。 |
| e[ | 制御の記述開始。bash2.0以前では 33[ |
| m] | 色指定のときの終わりの囲み |

結果的に、
* [e[(色)m]
* [e[(制御)m]
のどちらかになる。
後はこれの組み合わせ

(例)

[e[(色)m][e[(制御)](表示させたい項目)

====== エスケープシーケンス ======

| a | ASCII のベル文字 (07) |
| d | “曜日 月 日”のフォーマットによる日付け(例 “Tue May 26″) |
| e | ASCII のエスケープ文字 (033) |
| h | 最初の”.”のところまでのホスト名 |
| H | ホスト名 |
| n | 改行 |
| r | 復帰 |
| s | シェル名、$0 のベース名(最後のスラッシュの後ろの部分) |
| t | 24時間制の HH:MM:SS のフォーマットによる時間 |
| T | 12時間制の HH:MM:SS のフォーマットによる時間 |
| @ | am/pm をつけた12時間制のフォーマットによる時間 |
| u | 現ユーザーのユーザー名 |
| v | bash のバージョン(例 2.00) |
| V | bash のリリース番号、バージョンとパッチレベル(例 2.00.0) |
| w | 現在のディレクトリ |
| W | 現在のディレクトリのベース名 |
| ! | 現在のコマンドのヒストリー番号 |
| # | 現在のコマンドのコマンド番号 |
| $ | UIDが0なら#、そうでなければ$ |
| nnn | 8進数nnnに対応する文字 |
| | バックスラッシュ |

====== 色づけ ======
表示されないエスケープシーケンスは、[33[ と ] で囲んでやる必要がある。
色のエスケープシーケンスの場合は後ろに m] をつけてやる必要がある。

(例)プロンプトにブルーのテキストを入れるには、
PS1='[e[1;30m]u@h:W$[e[0m] ‘

*色の定義

| Black | 0;30 | Dark Gray | 1;30 |
| Blue | 0;34 | Light Blue | 1;34 |
| Green | 0;32 | Light Green | 1;32 |
| Cyan | 0;36 | Light Cyan | 1;36 |
| Red | 0;31 | Light Red | 1;31 |
| Purple | 0;35 | Light Purple | 1;35 |
| Brown | 0;33 | Yellow | 1;33 |
| Light Gray | 0;37 | White | 1;37 |

カテゴリー: Linux, PC&Web タグ: , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です