Mac

Macターミナルのプロンプト変更方法

プロンプト変更アイキャッチ

ターミナルにログインすると下のように「D-Box-no-iMac:~ D-Box$」というようにプロンプトが表示され、指示を待つ状態になります。

Macターミナルプロンプト表示

デフォルトだと、ホスト名:現在の作業ディレクトリ:ユーザー名が表示されます。
ローカルでターミナルを使用する際は、毎回ユーザー名を確認する必要はないですね。
今回はより見やすいようにプロンプトの表示を変更する方法を説明します。

       スポンサーリンク

プロンプト設定確認

ターミナルログイン時に表示され、一番多く目にするコマンド待ちの状態のプロンプトは「PS1」と呼ばれています。
この設定を確認するコマンドは「echo」または「set」コマンドで行えます。
デフォルトでは以下のように表示されます。

$ echo $PS1
\h:\W \u\$

「set」コマンドで確認するとこのように設定が確認できます。(一部省略)

$ set
・・・
PROMPT_COMMAND=update_terminal_cwd
PS1='\h:\W \u\$ '
PS2='> '
PS4='+ '
・・・

PS1以外に他の数字が割り当てられたPSがあるのが確認できます。
それぞれのPSの役割はこのようになっています。

PS1 ターミナルログイン時のコマンド待ちの状態のプロンプト
PS2 入力を要求するコマンドや、コマンド入力時に複数行になる場合に表示されるプロンプト
PS3 selectコマンドで選択を求める場合のプロンプト
デフォルトでは未設定ですが「#?」と表示
PS4 シェルスクリプトで「-x」オプションを付けたスクリプトを実行した時に表示

基本的にはPS1以外は変更しなくても良いかと思います。

エスケープシーケンス

プロンプトの設定を確認し、表示された記号「\h:\W \u\$」の説明をします。
このような記号はエスケープシーケンスと呼ばれます。
記号のそれぞれの役割は以下のようになります。

文字列 意味
\a ASCIIのベル文字(07)(ビープ音を鳴らす)
\d 「曜日 月 日」で日付表示 例"水 5 25"
\e ASCIIのエスケープ文字(033)
\h 最初のピリオド記号"."までのホスト名
\H 完全なホスト名
\l TTY名
\n 改行
\r 復帰
\s シェルの名前
\t 24時間での現在時刻を表示 例"23:02:15"
\T 12時間での現在時刻を表示 例"11:02:15"
\@ "am/pm"での現在時刻を表示 例"11:02 PM"
\A 24時間での現在時刻を秒単位抜きで表示 例"23:02"
\u ユーザー名
\v bashのバージョン
\V bashのリリース番号、バージョンとパッチレベル
\w パスも含めた現在のディレクトリ名
\W パスを含めない現在のディレクトリ名
\! コマンド履歴の番号
\# コマンド番号(ログイン後の回数)
\$ UIDが0(スーパーユーザー)なら"#"表示、以外は"$"表示
\nnn 8進数nnnに対応する文字
\\ バックスラッシュ
\[ 表示されない文字列(エスケープシーケンス/端末制御シーケンス)の開始
\] 表示されない文字列の終了

このようにたくさんの文字列があります。
英語ですが「man」コマンドを使って「man bash」で詳細確認ができます。
上記のエスケープシーケンス以外にも好きな文字を表示できるので間に◉などの記号を表示させてわかりやすくすることも可能です。

色の変更

色のエスケープシーケンスで色の変更が行えます。
色を分けることでよりプロンプトの位置やわかりやすさが上がるかと思います。
色のエスケープシーケンスは\[\033[色文字列m\]と\[033[0m\]で囲みます。
色の定義は以下のようになります。

文字 背景
黒(Black) 30 40
赤(Red) 31 41
緑(Green) 32 42
黄(Yellow) 33 43
青(Blue) 34 44
紫(Purple) 35 45
水(Cyan) 36 46
白(White) 37 47

文字スタイル

上の色コードに文字スタイルコードを加えると文字の装飾が行えます。
文字スタイルコードは以下のようになります。

文字スタイル コード
太字 1
細字 2
下線 4
点滅 5
文字色と背景色逆転 7
文字非表示 8
全設定クリア 0

まとめ

これらのエスケープシーケンスを使ってプロンプトの変更を行います。
例として、白色の背景に水色(下線)でコマンド履歴番号、緑色の背景に赤色(下線なし)でパスも含めたディレクトリ名、青色の背景に黄色(下線)で$マークを表示するようにするには下のようになります。

export PS1="\[\033[1;4;47;36m\]\! \[\033[0;1;42;31m\]\w \[\033[4;1;44;33m\]\$ \[\033[0m\]"

するとこのように表示されます。

Macターミナルプロンプト表示変更後

しかしこのままでは毎回ログインする度に設定が戻ってしまいます。
エイリアスの設定をしておくと次回ログイン時にも変更が反映されます。
設定については下のページで説明していますのでよければ御覧ください。

Macターミナルでエイリアスを設定する方法

以上がプロンプトの変更方法になります。

記事が気に入ったらD-Boxを

"いいね!"か"フォロー"

新しい情報をおしらせします。

D-Box

        スポンサーリンク

関連記事

  1. ホームディレクトリアイコン Macのアカウント名、ホームディレクトリ名、コンピュータ名変更方…
  2. Macターミナル時間指定スクリーンショットアイキャッチ Macターミナルで指定秒数後にスクリーンショットを撮る2つの方法…
  3. Mac絵文字記号半角カナ入力アイキャッチ Macで半角カタカナ、絵文字と記号を入力する方法
  4. SIP解除アイキャッチ Macでシステム、標準アプリアイコンを変更する方法
  5. Mac・iPhoneメモアプリアイキャッチ Mac・iPhoneメモアプリの使い方
  6. Macで画像ファイルのサイズを一括変更する方法
  7. mailロゴ Macのアイコンを変更する2つの方法
  8. 鍵 Macでファイルやフォルダにパスワードをかける方法

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

PAGE TOP