Hack 41. PS1 変数で指定可能なコードを使用して独自のプロンプトを作成する

次のコードを使用して、独自の PS1 Linux プロンプトを作成します。
機能的かつ好みに合わせることができます。
o \a ASCII のベル文字 (07)
o \d “Weekday Month Date”形式の日付 (ex.“Tue May 26″)
o \D{format} - format は strftime(3) に渡され、その結果がプロンプト文字に挿入されます。format が空の場合、ロカール指定の時刻表示になります。ブレースは必須です。
o \e ASCII のエスケープ文字 (033)
o \h ホスト名の最初の部分
o \H ホスト名
o \j シェルが管理している現在のジョブ数
o \l シェルのターミナルデバイス名のベース名
o \n 改行
o \r キャリッジリターン
o \s シェル名、$0 のベース名(最後のスラッシュの後ろの部分)
o \t 24-hour HH:MM:SS 形式の現在時刻
o \T 12-hour HH:MM:SS 形式の現在時刻
o \@ 12-hour am/pm 形式の現在時刻
o \A 24-hour HH:MM 形式の現在時刻
o \u 現在ユーザのユーザ名
o \v bash のバージョン(ex. 2.00)
o \V bash のリリース、バージョン + パッチレベル(ex. 2.00.0)
o \w チルダを省略した $HOME をもつ現在の作業ディレクト
o \W チルダを省略した 現在の作業ディレクトリのベース名
o \! このコマンドのヒストリー数
o \# このコマンドのコマンド数
o \$ UID が 0 の場合、# になり、そうでない場合は、$
o \nnn 8進数 nnn で指定した文字
o \\ \
o \[ 出力しない文字の開始。ターミナル制御シーケンスをプロンプトに指定することができます。
o \] 出力しない文字の終了。