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

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

序文

ご存知のとおり、bash (Bourne-Gain Shell) は、ほとんどの Linux ディストリビューションで使用されるデフォルトのシェルです。この記事では、色やスタイルを追加して bash コマンド プロンプトの表示をカスタマイズする方法を説明します。多くのプラグインやツールは簡単にこの要件を満たすことができますが、プラグインやツールを使用せずに、特定の要素の追加や変更、前景色の変更、背景色の変更など、いくつかの基本的な表示方法を手動でカスタマイズすることもできます。

Linux で bash コマンド プロンプトをカスタマイズする

bash では、$PS1 環境変数の値を変更することで、bash コマンド プロンプトをカスタマイズできます。

通常、bash コマンド プロンプトは次のようになります。


上記のデフォルトの表示では、「sk」がユーザー名で、「ubuntuserver」がホスト名です。

バックスラッシュで始まる特別なエスケープ シーケンスを挿入するだけで、コマンド プロンプトを好みに合わせて変更できます。いくつか例を挙げてみましょう。

始める前に、~/.bashrc ファイルをバックアップすることを強くお勧めします。

$ cp ~/.bashrc ~/.bashrc.bak

bashコマンドプロンプトのユーザー名@ホスト名の部分を変更する

上記のように、bash コマンド プロンプトには通常、「username@hostname」の部分があり、これは変更できます。

~/.bashrc ファイルを編集するだけです:

$ vi ~/.bashrc

ファイルの末尾に次の行を追加します。

PS1="ostechnix> "

「ostechnix」を任意の単語に置き換え、ESC キーを押して :wq と入力し、ファイルを保存して終了します。

変更を有効にするには、次のコマンドを実行します。

$ ソース ~/.bashrc

追加した「ostechnix」が bash コマンド プロンプトに表示されることがわかります。


「username@hostname」を「Hello@welcome>」に置き換える別の例を見てみましょう。

前と同じように ~/.bashrc ファイルを変更します。

エクスポート PS1=Hello@welcome>

次に、source ~/.bashrc を実行して、変更をすぐに有効にします。

以下は、Ubuntu 18.04 LTS で変更した後の結果です。


ユーザー名のみ表示

ユーザー名のみを表示する必要がある場合は、~/.bashrc ファイルに次の行を追加します。

エクスポートPS1="\u "

ここでの \u はエスケープ文字列です。

以下は、bash コマンド プロンプトのスタイルを変更するために $PS1 環境変数に追加できるエスケープ文字列です。変更をすぐに有効にするには、各変更後にsource ~/.bashrcコマンドを実行する必要があります。

ユーザー名とホスト名を表示する

エクスポート PS1="\u\h "

コマンドプロンプトは次のようになります。

skubuntuサーバ

ユーザー名と完全修飾ドメイン名を表示する

エクスポート PS1="\u\H "

ユーザー名とホスト名の間に追加の文字を表示する

ユーザー名とホスト名の間に他の文字 (@ など) を表示する必要がある場合は、次の形式を使用できます。

エクスポート PS1="\u@\h "

コマンドプロンプトは次のようになります。

sk@ubuntuserver

ユーザー名、ホスト名を表示し、最後に$記号を追加します

エクスポート PS1="\u@\h\\$ "

上記の2つの表示方法を組み合わせる

エクスポートPS1="\u@\h> "

コマンド プロンプトは最終的に次のようになります。

sk@ubuntuserver>

同様に、コロン、セミコロン、アスタリスク、アンダースコア、スペースなどの他の特殊文字を追加することもできます。

ユーザー名、ホスト名、シェル名を表示する

エクスポート PS1="\u@\h>\s "

ユーザー名、ホスト名、シェル名、シェルのバージョンを表示します。

エクスポート PS1="\u@\h>\s\v "

bash コマンドプロンプトの表示スタイル:


ユーザー名、ホスト名、現在のディレクトリを表示する

エクスポート PS1="\u@\h\w "

現在のディレクトリが $HOME の場合、チルダ ( ~ ) 付きで表示されます。

bashコマンドプロンプトで日付を表示する

bash コマンド プロンプトにユーザー名とホスト名に加えて日付を表示する場合は、~/.bashrc ファイルに次のコードを追加します。

エクスポート PS1="\u@\h>\d "

bash コマンドプロンプトで日付と 12 時間形式を表示する

エクスポート PS1="\u@\h>\d\@ "

日付と時刻をhh:mm:ss形式で表示します

エクスポート PS1="\u@\h>\d\T "

日付と24時間表示

エクスポート PS1="\u@\h>\d\A "

日付と時刻を24時間形式hh:mm:ssで表示します

エクスポート PS1="\u@\h>\d\t "

上記は、bash コマンド プロンプトを変更できる一般的なエスケープ シーケンスの一部です。その他のエスケープ シーケンスについては、bash マニュアル ページの PROMPTING の章を参照してください。

いつでも次のコマンドを実行して、現在のコマンド プロンプト スタイルを表示することもできます。

$ エコー $PS1

bashコマンドプロンプトのユーザー名@ホスト名の部分を削除します

調整したくない場合は、ユーザー名@ホスト名の部分を完全に削除するだけでよいのでしょうか?答えはイエスです。

技術ブロガーの場合は、Linux ターミナルのスクリーンショットを Web サイトやブログにアップロードする必要があるかもしれません。ユーザー名とホスト名があまりにもクールでユニークすぎるため、他の人に見られたくない場合があります。この場合、コマンドプロンプトで「ユーザー名@ホスト名」の部分を非表示にする必要があります。

ユーザー名とホスト名を公開したくない場合は、以下の手順に従ってください。

~/.bashrc ファイルを編集します:

$ vi ~/.bashrc

ファイルの最後に次の行を追加します。

PS1="\W> "

:wq と入力してファイルを保存して閉じます。

変更をすぐに有効にするには、次のコマンドを実行します。

$ ソース ~/.bashrc

ここでターミナルを見ると、「username@hostname」の部分が消えて、~> 記号だけが残っています。


できるだけシンプルに保ち、~/.bashrc ファイルを変更したくない場合は、システムに別のユーザー (例: "user@example"、"admin@demo") を作成するのが最適です。このようなコマンドプロンプトを持つユーザーを使用してスクリーンショットを撮ったり、画面を記録したりする場合は、ユーザー名やホスト名が他の人に見られることを心配する必要はありません。

警告: 場合によっては、この方法は推奨されません。たとえば、zsh のようなシェルは現在のシェルの設定を継承するため、予期しない問題が発生する可能性があります。このトリックは、コマンドプロンプトの「ユーザー名@ホスト名」の部分を隠すためだけに使用され、それ以上のものではありません。このトリックを他の目的で使用すると、異常が発生する可能性があります。

bashコマンドプロンプトをカラー化する

現在はbashコマンドプロンプト内の内容のみ変更しています。以下ではコマンドプロンプトに色を付ける方法を紹介します。

~/.bashrc ファイルにいくつかの設定を書き込むことで、bash コマンド プロンプトの前景色 (つまり、テキストの色) と背景色を変更できます。

たとえば、次の設定行では、一部のテキストの色を赤に変えることができます。

エクスポートPS1="\u@\[\e[31m\]\h\[\e[m\] "

設定を追加したら、source ~/.bashrc を実行してすぐに有効にします。

bash コマンド プロンプトは次のようになります。


同様に、次の設定で背景色を変更できます。

エクスポートPS1="\u@\[\e[31;46m\]\h\[\e[m\] "

絵文字を追加

誰もが絵文字が大好きです。次のようにコマンドプロンプトに絵文字を挿入することもできます。

PS1="\W

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。

以下もご興味があるかもしれません:
  • Linux Bash プロンプトのクールな操作 (カスタム Bash プロンプト)
  • Linuxコマンドプロンプトの表示形式を設定する方法
  • Linux シェルの興味深いコマンドとヒント 30 個 (推奨)
  • Starshipのカスタムシェルプロンプトは情報の自由を可能にします

<<:  mysqlはルートユーザーと一般ユーザーを作成し、機能を変更および削除します。

>>:  Vue スキャフォールディング学習プロジェクト作成方法

推薦する

Mysqlはストアドプロシージャを通じて文字列を配列に分割します

文字列を配列に分割するには、次の 3 つの MySQL 関数を使用する必要があります。 REVERS...

HTML 順序なしリスト 箇条書き 画像を使用した CSS の記述

少なくとも 5 冊のベストセラー書籍の順序なしリストを含む HTML ページを作成します。各書籍の前...

Hタグの定義と注意事項について簡単に説明します

結果から判断すると、タイトルを定義するための固定パターンはなく、すべてむしろランダムな感じがします。...

MySQL でよく使用されるステートメントの包括的な概要 (必読)

以下にまとめたナレッジポイントはどれもよく使われる貴重な情報ばかりですので、ぜひ上手に集めてください...

Vueのライフサイクルについて詳しく説明します

目次序文1. Vue2 のライフサイクルインスタンスのライフサイクルその他のライフサイクルフック2....

XHTMLタグは適切に使用する必要があります

<br />123WORDPRESS.COM の以前のチュートリアルでは、Web ページ...

Ubuntuで顔認識ログインを実装するための完全な手順

1. Howdyをインストール: howdyプロジェクトアドレス sudo add-apt-repo...

CSS 動的読み込みバー効果のサンプルコード

CSS変数の知識を使って、追加したコードとコメントを直接投稿します <!DOCTYPE htm...

webpack イメージを base64 に変換する例

url-loader をダウンロード 糸を追加 -D URLローダー モジュール: { ルール: {...

MySQL 8.0.15 のインストールと設定のグラフィックチュートリアル

この記事ではMySQL 8.0.15のインストールと設定方法を参考までに記録します。具体的な内容は以...

Vueログイン機能の実装

目次前面に書かれたログインの概要ログインビジネスプロセスログインサービスの関連技術ポイントログイント...

Nginx ソースコード調査における nginx 電流制限モジュールの詳細な説明

目次1. 電流制限アルゴリズム2. nginxの基礎知識4. 実戦要約する高並行性システムには、キャ...

Nginx 環境での WordPress マルチサイト構成の詳細な説明

WordPress のマルチサイト機能を使用すると、1 つの WordPress プログラムをインス...

MySQL水平および垂直テーブル変換操作の実装方法

この記事では、例を使用して、MySQL の水平テーブルと垂直テーブル間の変換操作を実装する方法を説明...

文字列の最初の文字を取得してテキストアイコン機能を実現する純粋なCSS

CSS でテキストアイコンを実装する方法 /*アイコンスタイル*/ .nav-icon-norma...