このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

Linuxコマンドの基本:シェル変数:プロンプトの設定

シェル変数の設定

 シェル変数は、bashシェル内で数値や文字列などの値を保存し、シェルの動作や環境をカスタマイズするために使用されます。bashには、特別な意味を持つシェル変数が多数用意されており、これらを設定することでシェルの機能を自在にカスタマイズできます。

 ここでは、シェル変数の設定方法について学び、実際にシェルのプロンプトを変更してみます。シェル変数を理解し活用することで、自分好みのシェル環境を構築し、作業効率を向上させることが可能です。

シェル変数PS1:プロンプト設定

 まず、シェル変数を利用してシェルのプロンプトを変更してみましょう。プロンプトとは、コマンドラインの先頭に表示される文字列のことで、ユーザーにコマンド入力を促す役割を持ちます。

デフォルトのプロンプト

通常、プロンプトは以下のように表示されています。

上記の例では、user01@ubuntu:~$ がプロンプト部分です。

プロンプトの変更方法

 シェルのプロンプトを変更するには、シェル変数である PS1 に新しい文字列を設定します。以下のコマンドを実行すると、プロンプトが変更されます。

user01@ubuntu:~$ PS1='bash> '
bash> 

これにより、プロンプトが bash> に変わります。

特殊な記号を使ったプロンプト

PS1 に設定する文字列には、特殊な意味を持つ記号を含めることができます。これらの記号は、プロンプトが表示される際に特定の情報に置き換わります。例えば、\u は現在のユーザー名を表します。

ユーザー名を表示するプロンプト

bash> PS1='[\u] > '
[user01] > 

カレントディレクトリを表示するプロンプト

 \w はカレントディレクトリを表します。これを利用すると、プロンプトから現在のディレクトリを確認できます。

[user01] > PS1='[\u] \w \$ '
[user01] ~ $ 

カレントディレクトリが変わると、プロンプトも自動的に更新されます。

[user01] ~ $ cd /var/lib
[user01] /var/lib $ 

プロンプトで使用できる主な記号

プロンプトで利用できる特殊な記号は以下の通りです。

記号内容
\d日付(例: “土 10月 12″)
\hホスト名(最初のドットまで)
\Hフルホスト名
\n改行
\t現在時刻(HH:MM:SS 形式)
\uユーザー名
\wカレントディレクトリ(フルパス)
\Wカレントディレクトリの末尾のディレクトリ名
\$スーパーユーザーの場合は #、それ以外は $
\\バックスラッシュ(\)
プロンプトで使用できる主な記号

改行を含むプロンプト

 プロンプトが長くなりすぎる場合は、\n を使用して改行を挟むことができます。これにより、情報を整理して表示でき、コマンド入力も見やすくなります。

改行を入れたプロンプトの例

 この設定では、ユーザー名、カレントディレクトリ、日付、時刻が表示され、その後に改行してプロンプトが表示されます。

[user01] /var/lib $ PS1='[\u] \w (\d \t)\n\$ '
[user01] /var/lib (土 10月 12 22:11:06)
$ 

まとめ

  • PS1 変数を設定することで、シェルのプロンプトを自由にカスタマイズできます。
  • 特殊な記号(\u、\w、\t など)を使用して、プロンプトに動的な情報を表示できます。
  • \n を使った改行で、長いプロンプトでも見やすく整理できます。
  • 自分好みのプロンプトを作成することで、作業効率の向上や環境の把握が容易になります。

シェル変数を活用して、快適で効率的なシェル環境を構築していきましょう。