プロンプトの表示形式の環境変数「PS1」をひたすら変えてみた。

プロンプトの表示を変更できる環境変数PS1ですが、いろいろと変更できるようなので、一通り打って表示してみました。

まずは、最後にもとに戻せるように今の値を控えておきました。


[root@host1 ~]# echo $PS1
[\u@\h \W]\$
[root@host1 ~]#

 

\u :ログインユーザ名 -->root

\h:ホスト名。最初の.(ドット)まで -->host1

\W:カレントディレクトリ(ワーキングディレクトリ) -->~(ユーザホームDir)

が入ってますね。

 

書式の一覧はこちらを参考にしました。

bashのプロンプトを変更するには

 

また、書式はたくさんあるので忘れてしまったときは、bashのmanで確認することもできます。

[root@host1 ~]# man bash

manの中でpromptingで検索して、"n"(次検索)を何回か押してるとと出てきます。

/prompting

f:id:linlinrh:20171114115651p:plain

 

 

 

基本的には、PS1="書式"と打てばプロンプトに反映されます。
試しに$のプロンプトに変えるには、

[root@host1 ~]# PS1="$ " 

となります。

 

以下、他の書式に変えてみた結果です。


$ PS1="\d "  ...日付に変更(「曜 日 月 日」の形式)
Tue Nov 14


Tue Nov 14 PS1="\a "  ...ベル文字 - Wikipediaを表示する?

   ...何にも表示されてません。ビープ音鳴らしてくれるみたいです。


PS1="\e "  ...エスケープ文字 - Wikipediaを表示する

   ...何にも表示されてません。特殊文字をプロンプトに出したいときに前につけるのではと。

 

PS1="\h "  ...ホスト名。最初の.(ドット)まで
host1


host1 PS1="\H "   ...ホスト名。全部
host1.example.com


host1.example.com PS1="\n "  ...改行

  ...↑改行されて、この行から文字が打てます。

PS1="\r "   ...復帰?なんのことかはわかりませんでした。


PS1="\s "  ...シェル名を表示
-bash


-bash PS1="\t "  ...時刻表示「HH:MM:SS」。24H
21:20:37


21:20:37 PS1="\T "  ...時刻表示「HH:MM:SS」。12H
09:20:44


21:20:44 PS1="\@ "  ...時刻表示1「am/pm」。12H
09:21 AM 

 

09:21 AM PS1="\u "  ...ログインユーザ
root 

 

root PS1="\v "  ...bashのバージョン
4.2 

 

4.2 PS1="\V "  ... bashのリリース
4.2.46 


4.2.46 PS1="\w "  ...カレントディレクトリ。絶対バスで表示
~    ...ホーム配下のフォルダーへ移動
~ cd Videos/
~/Videos   ...ホームDirからの絶対パスで表示されました。
~/Videos cd /etc  .../etcに移動してみると。
/etc   ...絶低パスで表示


/etc PS1="\W "  ...カレントディレクトリ。絶対パスなし。
etc   .../(スラッシュ)が表示されなくなりました。
etc cd  ...ホームDirへと。


~ PS1="\! "   ...このコマンドの履歴番号
493 
493   ...改行だけだとカウントアップしません。

 

493 PS1="\# "  ...コマンド番号(現在セッション中の実行回数)

85 


85 PS1="\111 "  ...8進数nnnに対応する文字
I   ...適当に111を入れたらI(インドのアイ)になりました。


I PS1="\\ "  ...バックスラッシュを表示(手前の\はエスケープ文字ですね。)
\ 


\ PS1="[ "  ...括弧
[ PS1="] "  ...括弧閉じ
]


] PS1="[\u@\h \W]\$"  ...もとに戻して終わりです。
[root@host1 ~]$

 

以上でした。。。