いくつかの代替プロンプト デザインを試す
この特殊文字のリストを使ってプロンプトを変更し、その効果を確認できます。まず、既存のプロンプト文字列をバックアップして、後で復元できるようにします。そのためには、既存の文字列を別のシェル変数にコピーします。
[me @ linuxbox〜] $ ps1_old="$PS1"
[me @ linuxbox〜] $ ps1_old="$PS1"
新しい変数を作成します ps1_old そして、 PS1 文字列がコピーされたかどうかは、 echo コマンド:
[me @ linuxbox〜] $ $ps1_oldをエコーする
[\u@\h \W]\$
[me @ linuxbox〜] $ $ps1_oldをエコーする
[\u@\h \W]\$
ターミナルセッション中は、プロセスを逆にするだけでいつでも元のプロンプトを復元できます。
[me @ linuxbox〜] $ PS1="$ps1_old"
[me @ linuxbox〜] $ PS1="$ps1_old"
準備ができたので、プロンプト文字列が空の場合に何が起こるかを見てみましょう。
[me @ linuxbox〜] $ PS1=
[me @ linuxbox〜] $ PS1=
プロンプト文字列に何も代入しないと、何も表示されません。プロンプト文字列自体が表示されないのです!プロンプト自体は表示されますが、指示した通り何も表示されません。このままでは少し不自然なので、最小限のプロンプトに置き換えましょう。
PS1="\$ "
PS1="\$ "
良くなりました。少なくとも、何をしているのかは分かります。二重引用符の末尾のスペースに注目してください。これは、ドル記号とカーソルの間にスペースを空けるためのものです。
いくつかの代替プロンプト デザインを試す
プロンプトが表示されます。
プロンプトにベルを追加してみましょう。
$ PS1="\[\a\]\$ "
$ PS1="\[\a\]\$ "
これで、プロンプトが表示されるたびにビープ音が鳴るはずです。これは煩わしいかもしれませんが、特に長時間かかるコマンドが実行されたときに通知が必要な場合には便利です。 \[ および \] シーケンス。ASCIIベル(\a)が「印刷」しない、つまりカーソルを移動しない場合は、 bash プロンプトの長さを正しく判断できるようになります。
次に、ホスト名と時刻情報を含む情報プロンプトを作成してみましょう。
$ PS1="\A \h \$ "
17:33 Linuxボックス $
$ PS1="\A \h \$ "
17:33 Linuxボックス $
特定のタスクをいつ実行したかを把握する必要がある場合、プロンプトに時刻を追加すると便利です。最後に、元のプロンプトに似た新しいプロンプトを作成します。
17:37 Linuxボックス $ PS1="<\u@\h \W>\$ "
$
17:37 Linuxボックス $ PS1="<\u@\h \W>\$ "
$
上の表にリストされている他のシーケンスを試してみて、素晴らしい新しいプロンプトを思いつくことができるかどうかを確認してください。