bashのプロンプトをカスタマイズする

文:Jack Wallen(TechRepublic) 翻訳校正:原井彰弘
2008-02-15 08:30:00
  • このエントリーをはてなブックマークに追加

 前回のブログのエントリを書いて、私はbashプロンプトのカスタマイズに関するコツをいくつか伝えたいと感じた。私は非常に長い間カスタマイズを行っており、カスタマイズを行えば、ターミナルにちょっとした遊び心を織り交ぜつつもよりシンプルにプロンプトを使えるようになると感じたのである。

 それでは、まず黄色で「URHERE:」と表示するプロンプトを作ってみよう。このようなプロンプトを作成するには、標準的なプロンプトで用いられている文字(そしてその組み合わせ)とは異なる文字を用いる必要がある。以下に示すコードは、すべて自分自身の「~/.bashrc」の中に記述して欲しい。

 さて、この斬新でユニークなプロンプトは以下のようなコマンドで作成できる。

PS1=’\[\033[1;33m\]URHERE: \w \[\033[0m\] ‘

 一体、これはどのような意味なのだろうか?一つずつ分割して考えてみよう。まず、一つ目の文字の並び「`\[033[1;33m\]」には、以下のような意味がある。

  • ‘ - 文字列を開始する
  • \[ - 非表示文字の文字列を開始する
  • \ - 次の文字(文字列)をエスケープし、リテラルとしての値を保つ
  • 033 - エスケープキーを表すASCIIコード
  • [ - 文字の並びを分割するために用いられる
  • 1;33m - 黄色を指定する
  • \w - カレントワーキングディレクトリへのフルパスを追加する
  • \] - 非表示文字の文字列を終了する

 次の部分「URHERE:」では、メッセージ「URHERE」を表示し、分かりやさのために続けて記号「:」とスペースも表示している。そして、最後の部分「\[033[0m\]’」では、次のようにしてプロンプトを終えている。

  • \] - 非表示文字の文字列を開始する
  • \ - 次の文字(文字列)をエスケープし、リテラルとしての値を保つ
  • 033 - エスケープキーを表すASCIIコード
  • [ - 文字の並びを分割するために用いられる
  • 0m - 色の指定を終える
  • \] - 非表示文字の文字列を終了する
  • 新着記事
  • 特集
  • ブログ