Macのターミナルのプロンプト設定をデフォルトからLinuxのプロンプトのように変更する設定メモ
やりたいこと
変更前(デフォルト)
takahiro@ITakahiro ~ %
ユーザー名@ホスト名 ~ %
変更後
[takahiro@localhost ~]$
[ユーザー名@ホスト名 ~]$
※ホスト名は、「localhost」に固定
前提環境
macOS Catalina 10.15.1
1. 一般ユーザのプロンプト設定の変更
- ログインシェルの確認
takahiro@ITakahiro ~ % echo $SHELL
/bin/zsh
takahiro@ITakahiro ~ %
前提環境に記載のmacOSのバージョンでは、一般ユーザのデフォルトシェルはzsh
したがって、zshのプロファイル設定にてプロンプトの設定変更を行う
- zshrcプロファイル定義のコピー&編集
takahiro@ITakahiro ~ % cp -p /etc/zshrc ~/.zshrc
takahiro@ITakahiro ~ %
takahiro@ITakahiro ~ % vim ~/.zshrc
- 以下の箇所を修正
変更前(デフォルト)
~略~
# Default prompt
PS1="%n@%m %1~ %# "
~略~
変更後(ホスト名:localhost固定)
~略~
# Default prompt
# PS1="%n@%m %1~ %# "
PS1="[${USER}@localhost %1~]%(!.#.$) "
~略~
ホスト名を表示させたくなかった為、あえて「localhost」の固定文字列にしたが、ホスト名をそのまま表示させたい場合は以下の通り定義する。
変更後(ホスト名を表示)
~略~
# Default prompt
# PS1="%n@%m %1~ %# "
PS1="[${USER}@${HOST%%.*} %1~]%(!.#.$) "
~略~
- 設定変更後の確認
takahiro@ITakahiro ~ % source ~/.zshrc
[takahiro@localhost ~]$
2. rootユーザのプロンプト設定の変更
- rootユーザにログイン後デフォルトログインシェルの確認
ITakahiro:~ root# echo $SHELL
/bin/sh
ITakahiro:~ root#
- ここではbashのプロファイルを直接修正
ITakahiro:~ root# vim /etc/bashrc
変更前(デフォルト)
~略~
PS1='\h:\W \u\$ '
~略~
変更後(ホスト名:localhost固定)
~略~
# PS1='\h:\W \u\$ '
PS1='[\u@localhost \W]\$ '
~略~
ホスト名を表示させたくなかった為、あえて「localhost」の固定文字列にしたが、ホスト名をそのまま表示させたい場合は以下の通り定義する。
変更後(ホスト名を表示)
~略~
# PS1='\h:\W \u\$ '
PS1='[\u@\h \W]\$ '
~略~
- 設定変更後の確認
ITakahiro:~ root# source /etc/bashrc
[root@localhost ~]#
上記によりターミナルからログアウト、再度ログイン時にも設定が継続される。