GNU/Linux >> Linux の 問題 >  >> Linux

LinuxターミナルプロンプトでBashの色とコンテンツをカスタマイズする方法

現在、Bashは、ほとんどの(すべてではないにしても)最新のLinuxディストリビューションのデフォルトのシェルです。ただし、ターミナルのテキストの色とプロンプトの内容がディストリビューションごとに異なる場合があることに気付いたかもしれません。

推奨される読み物: Linuxで最も頻繁に使用される5つのオープンソースシェル

アクセシビリティを向上させるため、または単なる気まぐれのため​​にこれをカスタマイズする方法を知りたい場合は、読み続けてください。この記事では、まさにそれを行う方法を説明します。

PS1Bash環境変数

コマンドプロンプトと端末の外観は、PS1と呼ばれる環境変数によって制御されます。 。 Bashによると マニュアルページ、 PS1 シェルがコマンドを読み取る準備ができたときに表示されるプライマリプロンプト文字列を表します。

PS1で許可されているコンテンツ PROMPTINGにその意味がリストされているいくつかのバックスラッシュでエスケープされた特殊文字で構成されています マニュアルページのセクション。

説明のために、PS1の現在のコンテンツを表示してみましょう 私たちのシステムでは(これはあなたの場合は多少異なるかもしれません):

$ echo $PS1

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

次に、 PS1をカスタマイズする方法について説明します。 必要に応じて。

PS1フォーマットのカスタマイズ

マニュアルページのPROMPTINGセクションによると、これは各特殊文字の意味です:

  1. \u: ユーザー名 現在のユーザーの。
  2. \h: ホスト名 最初のドットまで(。) 完全修飾ドメイン名で。
  3. \W: ベース名 $ HOMEを使用した現在の作業ディレクトリの チルダで省略(〜)
  4. \$: 現在のユーザーが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プロンプトの色と内容をカスタマイズする方法について説明しました。この投稿について質問や提案がある場合は、以下のコメントフォームを使用してお気軽にご連絡ください。ご連絡をお待ちしております!


Linux
  1. Linuxコマンドをバックグラウンドで起動し、ターミナルでプロセスをデタッチする方法

  2. Linuxターミナルとシェルをクリスマス化する方法

  3. Linuxでターミナルコンソールをズームインおよびズームアウトする方法

  1. Linux端末の機能とパフォーマンスのバランスをとる方法

  2. LinuxでBashプロンプトをカスタマイズする方法

  3. LinuxでBashプロンプトを短縮する方法は?

  1. Linuxターミナルの履歴をバックアップおよび復元する方法

  2. Ubuntuターミナルプロンプトをカスタマイズする方法

  3. Linuxでターミナルを使用してC、C ++、およびJavaをコンパイルする方法