2016-06-17 14 views
0

私はプロンプトのいくつかの部分の色を変更したいと思っています。ユーザー名の色をCyanで表示したいのですが、それは\ uと一致すると検索しました。紫色の私が入力したときにこれを達成するためには、\ hのmatchsた:bashでホスト名の色を変更するには?

echo $PS1 

を私が手:

[\[email protected]\h \W]\$ 

その後、私が試した:

export PS1="\e[0;36m\e[0;35m[\[email protected]\h \W]\$ \e[m " 
Color Code 
Black 0;30 
Blue 0;34 
Green 0;32 
Cyan 0;36 
Red  0;31 
Purple 0;35 
Brown 0;33 
Blue 0;34 
Green 0;32 
Cyan 0;36 
Red  0;31 
Purple 0;35 
Brown 0;33 

答えて

1

\e[0mで各色の変更をリセットします。プロンプト、それ以外の場合は履歴ナビゲーションの

使用\[...\]周りの目に見えない部分は、線の長さについて混乱します:

PS1="[\[\e[0;35m\]\u\[\e[0m\]@\[\e[0;36m\]\h\[\e[0m\] \W]\$ " 
+0

これは本当に役に立ちました。私は欲しかった。 – neo33

1

試してみてください:

export PS1="[\e[0;36m\[email protected]\e[0;35m\h \e[0;30m\W]\$" 
しかし、私はそれ以来、紫のちょうど色のすべてを失敗し、 は私がホスト名を着色されていない理由を達成する方法を知りたいと思い、色のリストは以下のとおりです。

これは、ユーザー名にシアン、ホスト名に紫色を与え、それ以降は黒色にする必要があります。

+0

私はサポートに感謝します。 – neo33

+0

しかし、これも私の端末の文字の色が黒に変わったのでいくつか問題があります – neo33

+0

最後に '\ [\ e [0m \]'を使ってデフォルト色に戻す – Fazlin

1

エスケープは、$ PS1内に\[\]の間にする必要があります。さもなければ、それらはそのままで印刷されます。最後に

export PS1='\[\e[0;36m\e[0;35m[\]\[email protected]\h \W]\$ \[\e[0m\] ' 

\[\e[0m\]は、「デフォルトの色にリセット」を意味します。

また、一重引用符文字列を使用すると、\は常に\を意味します。これにより、あなたがしていることをより簡単に見ることができます。

関連する問題