現在、Bashは、ほとんどの(すべてではないにしても)最新のLinuxディストリビューションのデフォルトのシェルです。ただし、ターミナルのテキストの色とプロンプトの内容がディストリビューションごとに異なる場合があることに気付いたかもしれません。
推奨される読み物: Linuxで最も頻繁に使用される5つのオープンソースシェル
アクセシビリティを向上させるため、または単なる気まぐれのためにこれをカスタマイズする方法を知りたい場合は、読み続けてください。この記事では、まさにそれを行う方法を説明します。
PS1Bash環境変数
コマンドプロンプトと端末の外観は、PS1
と呼ばれる環境変数によって制御されます。 。 Bashによると マニュアルページ、 PS1 シェルがコマンドを読み取る準備ができたときに表示されるプライマリプロンプト文字列を表します。
PS1で許可されているコンテンツ PROMPTINGにその意味がリストされているいくつかのバックスラッシュでエスケープされた特殊文字で構成されています マニュアルページのセクション。
説明のために、PS1
の現在のコンテンツを表示してみましょう 私たちのシステムでは(これはあなたの場合は多少異なるかもしれません):
$ echo $PS1 [\[email protected]\h \W]$
次に、 PS1をカスタマイズする方法について説明します。 必要に応じて。
PS1フォーマットのカスタマイズ
マニュアルページのPROMPTINGセクションによると、これは各特殊文字の意味です:
-
\u:
ユーザー名 現在のユーザーの。 -
\h:
ホスト名 最初のドットまで(。) 完全修飾ドメイン名で。 -
\W:
ベース名 $ HOMEを使用した現在の作業ディレクトリの チルダで省略(〜) 。 -
\$:
現在のユーザーがrootの場合は、#を表示します 、 $ それ以外の場合。
たとえば、\!
の追加を検討することができます。 現在のコマンドの履歴番号を表示したい場合、または\H
短いサーバー名の代わりにFQDNを表示したい場合。
次の例では、次のコマンドを実行して、両方を現在の環境にインポートします。
PS1="[\[email protected]\H \W \!]$"
Enterを押したとき プロンプトの内容が次のように変化することがわかります。上記のコマンドを実行する前後のプロンプトを比較します。
それでは、さらに一歩進んで、ユーザーの色を変更しましょう。 およびホスト名 コマンドプロンプトで–テキストとその周囲の背景の両方。
実際、プロンプトの3つの側面をカスタマイズできます。
テキスト形式 | 前景色(テキスト)の色 | 背景色 |
0:通常のテキスト | 30:黒 | 40:黒 |
1:太字 | 31:赤 | 41:赤 |
4:下線付きのテキスト | 32:緑 | 42:緑 |
33:黄色 | 43:黄色 | |
34:青 | 44:青 | |
35:紫 | 45:紫 | |
36:シアン | 46:シアン | |
37:白 | 47:白 |
\e
を使用します 最初の特殊文字とm
最後に、次がカラーシーケンスであることを示します。
このシーケンスでは、3つの値(背景 、フォーマット 、およびフォアグラウンド )はコンマで区切られます(値が指定されていない場合は、デフォルトが想定されます)。
推奨される読み物: LinuxでのBashシェルスクリプトを学ぶ
また、値の範囲が異なるため、どちら(背景)でも構いません 、フォーマット 、またはフォアグラウンド )最初に指定します。
たとえば、次のPS1
プロンプトが黄色で表示されます 赤で下線が引かれたテキスト 背景:
PS1="\e[41;4;33m[\[email protected]\h \W]$ "
見た目どおり、このカスタマイズは現在のユーザーセッションでのみ有効です。ターミナルを閉じるかセッションを終了すると、変更は失われます。
これらの変更を永続的にするには、次の行を~/.bashrc
に追加する必要があります。 または~/.bash_profile
ディストリビューションによって異なります:
PS1="\e[41;4;33m[\[email protected]\h \W]$ "
色を自由に試して、自分に最適な色を見つけてください。
概要
この記事では、Bashプロンプトの色と内容をカスタマイズする方法について説明しました。この投稿について質問や提案がある場合は、以下のコメントフォームを使用してお気軽にご連絡ください。ご連絡をお待ちしております!