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の役割はこのようになっています。

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

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

Contentsへ

エスケープシーケンス

プロンプトの設定を確認し、表示された記号「\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で詳細確認ができます。
上記のエスケープシーケンス以外にも好きな文字を表示できるので間に◉などの記号を表示させてわかりやすくすることも可能です。

Contentsへ

色の変更

色のエスケープシーケンスで色の変更が行えます。
色を分けることでよりプロンプトの位置やわかりやすさが上がるかと思います。
色のエスケープシーケンスは\[\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

Contentsへ

文字スタイル

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

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

Contentsへ

まとめ

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

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

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

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

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

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

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

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

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

D-Box

関連記事

  1. Mac アプリをインストールした日やアップデートした日を確認する…
  2. Mac環境、保証確認アイキャッチ Macの環境諸々(ステータス)や保証状況を確認する方法
  3. SIP解除アイキャッチ Mac El Capitan以降でシステム、アプリのアイコンを変…
  4. Googleマップの便利な機能まとめ
  5. MagicMouseアイキャッチ画像 手軽にMacのマウスカーソルスピードを上げる3つの方法
  6. Macターミナル時間指定スクリーンショットアイキャッチ Macターミナルで指定秒数後にスクリーンショットを撮る2つの方法…
  7. zipファイル暗号化アイキャッチ Mac Zipファイルを暗号化方法とzipコマンドオプションまと…
  8. Fluidアプリアイキャッチ MacでWebサービスをアプリとして使用できる【Fluid】

コメント

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

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

PAGE TOP