こんにちは。よっしーです。
今日は、Mac のコマンドプロンプトの表示を変更する方法についてご紹介します。
コマンドプロンプトとは、「ターミナル」を起動した際に表示されている下の画面の赤枠の部分を指しています。
Mac Bookの移行をしていて、コマンドプロンプトも変更していたので、自分の設定を共有したいと思います。
コマンドプロンプトを変更するメリット
そんな箇所を変更する必要があるのって方向けに、コマンドプロンプトを変更するメリットとして、下記が考えられます。
- 視認性の向上:プロンプトをカスタマイズすることで、より見やすく、作業効率が向上することがあります。特定の文字やカラーコードを使用することで、プロンプトの背景色や文字色を変更することができます。これにより、コマンド入力の可読性を向上させることができます。
- 個性的な表示:カスタマイズされたプロンプトを使用することで、個性的な表示にすることができます。これにより、作業をより楽しいものにすることができます。
- 作業プロセスの区別:複数のターミナルを使用している場合、異なるプロンプトを使用することで、作業プロセスを区別することができます。これにより、作業の管理がより容易になります。
- プログラマーの利便性:プログラマーは、よく使用するコマンドや環境変数をプロンプトに表示することができます。これにより、プログラマーの作業効率を向上させることができます。
これらのメリットから、コマンドプロンプトの表示をカスタマイズすることは、作業効率を向上が期待されます。
コマンドプロンプトの変更方法
まず、現在の設定を確認するために、下記のコマンドを実行します。
echo $PS1
自分の環境だと下記のように表示されました。
\h:\W \u\$
上記の記号にはそれぞれ下記のような意味があります。
特殊文字 | 説明 |
---|---|
\h | ホスト名のうち最初の . までの部分 |
\W | 現在のディレクトリ名 |
\u | ユーザー名 |
\$ | UID が 0 の場合(スーパーユーザの場合)は #、それ以外の場合は $ |
この他にどのような値があるかは、下記のコマンドを入力して、
man bash
PRONPTING のセクションで確認することができます。
自分の環境だと下記になります。
PROMPTING
When executing interactively, bash displays the primary prompt PS1 when
it is ready to read a command, and the secondary prompt PS2 when it
needs more input to complete a command. Bash allows these prompt
strings to be customized by inserting a number of backslash-escaped
special characters that are decoded as follows:
\a an ASCII bell character (07)
\d the date in "Weekday Month Date" format (e.g., "Tue May
26")
\D{format}
the format is passed to strftime(3) and the result is
inserted into the prompt string; an empty format results
in a locale-specific time representation. The braces are
required
\e an ASCII escape character (033)
\h the hostname up to the first `.'
\H the hostname
\j the number of jobs currently managed by the shell
\l the basename of the shell's terminal device name
\n newline
\r carriage return
\s the name of the shell, the basename of $0 (the portion
following the final slash)
\t the current time in 24-hour HH:MM:SS format
\T the current time in 12-hour HH:MM:SS format
\@ the current time in 12-hour am/pm format
\A the current time in 24-hour HH:MM format
\u the username of the current user
\v the version of bash (e.g., 2.00)
\V the release of bash, version + patch level (e.g., 2.00.0)
\w the current working directory, with $HOME abbreviated
with a tilde
\W the basename of the current working directory, with $HOME
abbreviated with a tilde
\! the history number of this command
\# the command number of this command
\$ if the effective UID is 0, a #, otherwise a $
\nnn the character corresponding to the octal number nnn
\\ a backslash
\[ begin a sequence of non-printing characters, which could
be used to embed a terminal control sequence into the
prompt
\] end a sequence of non-printing characters
それでは、実際に変更してみましょう。
下記のコマンドを入力します。
PS1="\D{%Y-%m-%d} \t \W \$"
そうすると、下記のように表示されると思います。
2023-03-16 23:56:20 ~ $
下記のコマンドを入力すると日付の部分に色を付けることができます。
$PS1="\[\e[0;32m\]\D{%Y-%m-%d}\[\e[m\] \t \W \$"
上記の32の部分が色をしている箇所になりますので、他の数字にすると色が変わります。
なので、色々試してみるといいと思います。
このまま、ターミナルを閉じて、再度、開くとプロンプトの設定が元に戻っていると思います。
なので、設定を戻らないようにするために、下記のコマンドを入力します。
vi ~/.bash_profile
編集画面になると思いますので、下記のコマンドを入力します。
PS1="\[\e[1;34m\]\D{%Y-%m-%d}\[\e[m\] \t \W \$"
export PS1;
入力したら、保存し、下記のコマンドを入力します。
source ~/.bash_profile
これで、ターミナルを再度、開き直しても、変更されたままになっていると思います。
自身のコマンドプロンプトの設定
ちなみに、自分は zsh を使用していて、下記の設定にしています。
%D %* %n@%m:%d ${vcs_info_msg_0_}
%#
いつ、だれが、どこのホストで、どのディレクトリにいる状態で、どんなコマンドを発行したかを知りたかったので、上記のようにしています。
コマンドの実行ログも取得するようにしていると、あとからどのような作業をしたかをトレースできるので、便利だと思います。
他にもこういう設定をしているというのがあれば、是非、教えて下さい。
おわりに
今日は、コマンドプロンプトの変更について、説明しました。
快適な開発ライフを目指して、おすすめの設定があれば、是非、教えて下さいね。
それでは、またあしたお会いしましょう!
コメント