こんにちは、KDDIアイレットの角田です。
皆さん、普段Linuxのターミナルは使用されるでしょうか?
アプリケーション開発やログの確認など様々な用途で使用されるかと思うのですが、
今回はコマンドの使い方ではなく
毎回表示されるプロンプトに焦点を絞って記事を書いてみました。

プロンプトって?


あまり馴染みがないかもしれませんが
コマンド入力の左にいつも表示されているこの部分をプロンプトと呼びます。
※画像はコードエディタ経由でターミナルを起動した際のスクリーンショット

実はこの部分はユーザー好みに
カスタマイズすることができます。

デフォルトのままでも問題ないと思われるかもしれませんが、
ここをカスタマイズすることで普段の作業をより快適にすることができます。
今回はそんなプロンプトのカスタマイズ方法について紹介していきます。

どうやってカスタマイズするのか

このプロンプトは、PS1という環境変数で制御されています。
試しにPS1の内容を確認するとこんな感じです。
環境によって異なるのですが、私の環境ではこのような形で設定されていました。

よく分からない文字が出力されているので戸惑うかと思うのですが、
一つ一つ見ていくと以下のような意味になります。

\h ホスト名
: テキスト(ホスト名とカレントディレクトリ名の間のコロン)
\W カレントディレクトリ名
\u ユーザー名
\$ プロンプトサイン(ユーザー権限を表す文字列)
\[\] 非表示文字を囲むためのマーカー
(中身が空の場合は表示に影響しない)

基本的に「バックスラッシュ+1文字」で1つの項目を表しています。
PS1環境変数を変更することで、上記以外にも様々な情報をプロンプトに表示することができます。

直接環境変数を変更してもいいのですが
慣れていないと進めづらいと思うので
ツールを使って直感的に作成してみましょう。

こちらのBash Prompt Generatorを活用することで
直感的にプロンプトのカスタマイズを行うことができます。
Webブラウザ上で動作するのでインストールは不要で
PS1環境変数に当たる文字列を生成してくれるツールになります。
https://bash-prompt-generator.org/

Bash Prompt Generatorを開くとPS1環境変数を入力する箇所があるので
先ほどの値を入れて下部の水色のボタンを押しましょう。
(前後のマーカーに関しては省略しています)

すると現在のプロンプト項目(Your Prompt)、PS1環境変数(Output)、
ターミナル上の見た目(Example Preview)等の情報を確認することができます。

続けて、画面左にある「Prompt Elements」及び「Properties」を使って
項目をカスタマイズしていきます。

文字色のカスタマイズ

まず試しに各項目に色をつけてみましょう。

色をつけたい項目を「Your Prompt」から選択し、
「Properties」から「Foreground color」を選択して設定を行います。
「Background color」から背景色も変更できます。

色を変更したタイミングで「Output」と「Example Preview」の方にも
変更が反映されるので確認しましょう。

色の変更は「ホスト名」「現在のディレクトリ名」など項目ごとに設定可能で、
上記の操作を繰り返すことで複数の項目で色を変更することができます。

今回はこんな感じで設定してみました。

カスタマイズが終わったらOutputに記載されている内容で
PS1環境変数を更新しましょう。

カスタマイズ前後を見比べてみると
後者の方がコマンドごとの区切りが分かりやすく感じるかと思います。

◉カスタマイズ前

◉カスタマイズ後

表示順のカスタマイズ

各項目の表示順を入れ替えることもできます。
方法は簡単で「Your Prompt」の項目をドラッグ&ドロップで入れ替えるだけです。

今回は以下のようにカスタマイズしてみました。

プロンプト要素の追加

画面左の「Prompt Elements」をクリックすることで
新たに様々な項目を追加することができます。

テキストの追加

例えばテキストを追加したい場合はTextのElementを画面左からクリックして
表示内容を設定します。

スペースや記号に関してはワンボタンで追加できるようになっています。

全く実用性はないですがこんな感じで顔文字を表示したりすることもできます(笑)

その他の要素の追加

その他にも時刻やGitのブランチ名など、様々な情報を表示することができます。
ぜひ色々な要素を試して、自分だけのプロンプトを作ってみてください。

まとめ

今回はターミナルプロンプトのカスタマイズについて紹介しました。
普段はあまり意識しない部分ですが、少し手を加えるだけで日々の作業が快適になるので、
気になった方はぜひ試してみてください!