0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Macのターミナルでプロンプト表示を変更する

Posted at

この記事の概要

ターミナルを使う際に、デフォルトではログインユーザ名、マシン名が表示されてしまうため、キャプチャ取得したりする際にホスト名などを晒さないように、それを固定値に変更します。
bash、zsh、zshenv、zshrc、、、といろいろ混ざり合った結果、少々つまづいたため備忘録として残します。

現在のシェルを確認

$ echo $SHELL
/bin/zsh

Macを使っていて何も変更しないとzshになっているはずです。
合わせて、ターミナルの「開くシェル」も確認します。

CleanShot 2025-01-12 at 18.44.16@2x.png
「デフォルトのログインシェル」=zshです。
なので、zshで統一されていることを前提として以下記載します。

zshのプロンプト表示を変更する

プロンプトの表示は環境変数PS1を変更することで変えることができます。
デフォルトは以下の通り。

PS1="%n@%m %1~ %# "

これは/etc/zshrcに定義されています。

定義 意味
%n ユーザ名($USERNAMEの値)
%m フルマシン名
%1~ 現在の作業ディレクトリが $HOMEで始まる場合は~に置換される。
数字の1は表示する階層を意味する。1は現在のディレクトリ名が表示される。2にした場合は現在とその上のディレクトリ名が表示される。
%# root以外は%、rootは#もつく。(厳密ではないがおおかたこの解釈でOK)

※参照
https://zsh.sourceforge.io/Doc/Release/Prompt-Expansion.html#Prompt-Expansion

変更するために~/.zshrcに以下を記載します。

export PS1="k-nabe-o@localhost %# "

固定文字列と、rootかそれ以外かを表示しているのみです。
個人的に、pwdで現在のディレクトリを確認する癖がついてるため、ディレクトリ名の表示も不要かなと。

記載したらログインし直すか、読み込みなおせばOK。
再読み込みさせる場合はドットで読み込ませます。

$ . ~/.zshrc

つまずきポイント1(定義するファイルに注意)

ポイントは、.zshenvではなく、.zshrcに記載することです。
PATHの追加などよく.zshenvに記載しますが、どのように記載してもうまく適用されませんでした。
おそらく以下の順に読み込まれているのではないかと予想してます(未確認)。

~/.zshenv
 ↓
/etc/zshrc
 ↓
~/.zshrc

つまずきポイント2(シェルが統一されていない)

bashに変えてると動きがよくわかりませんでした。

CleanShot 2025-01-12 at 19.28.19@2x.png

この状態にしてターミナルを起動して、現在のシェルを確認すると、ターミナル自体はbashで動いているが、内部ではzshが動いているという状態。これが意味わからん。
CleanShot 2025-01-12 at 19.30.36@2x.png

PS1の定義の仕方は、zshとbashでは異なります。
zshは%で指定しますが、bashは¥(バックスラッシュ)です。
bashのデフォルトは下記の定義です。

PS1='\h:\W \u\$ '

これを見かけた場合はbashの定義のため、zshではうまく機能しません。
プロンプトの変更がうまく行かない人は、動いているシェルとその定義の仕方が合っているかを再確認すると解決につながるかもしれません。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?