先日、MacBook Airを新調したら、ターミナルのデフォルトがbashからzsh(Z Shell)になっていることを知りました。
プロンプトの初期表示を変えたかったのですが、zshを触ったことがなく、なかなか四苦八苦したので、調べたことをまとめておこうと思います。(自分が使いそうなものだけ)
ターミナルのプロンプトの初期表示を変更するためには、そもそも「.zshrc」ファイルをユーザーのホームディレクトリに作成する必要があります。
ターミナルを起動するとホームディレクトリ(/Users/ユーザ名
)から始まるはずなので、そこにviとかでファイルを作成すればOKです。
vi .zshrc
zshには様々な特殊文字が用意されていますが、私がプロンプトで使用しそうな初期表示は以下でした。
%1~ |
カレントディレクトリのみ表示 |
%~ |
カレントディレクトリをフルパスで表示(ホームディレクトリは「~」で表示) |
%d |
カレントディレクトリをフルパスで表示 |
例えば、Desktopディレクトリに移動した場合、それぞれの表示は以下のようになります。(表示順は上の表と同じ。)
% cd Desktop Desktop ~/Desktop /Users/ユーザ名/Desktop
%n |
ユーザ名 |
%m |
ホスト名 |
ログイン情報で使うのはこれくらいではないでしょうか。
一応、フルホスト名を表示するための「%M
」というものもあります。
%D |
yy-mm-dd |
%w |
曜日 dd |
%W |
mm/dd/yy |
%T |
24時間表記 |
%t or %@ |
12時間表記(am/pm表記) |
%* |
24時間表記(秒まで表示) |
実際の表示例は以下の通りです。(表示順は上の表と同じ。)
20-08-29 土 29 08/29/20 18:40 6:40PM 18:40:43
%# |
シェルが特権で実行されている場合は「#」、そうでない場合は「%」を表示 |
bashでいうところの「¥$
」です。
.zshrcを好みの設定で作成し、.zshrcをsourceすれば設定が適用されます。(ターミナルの再起動でも可)
試しに、中身がこんな感じの.zshrcを作成し、(改行は普通に改行すれば良いようです。)
cat .zshrc export PS1="[%~] %D %* %# "
.zshrcをsourceすると、
source .zshrc
設定が適用され、プロンプトが以下のように表示されるようになります。
[~] 20-08-29 18:49:42 %
ちなみに、初期設定は以下のようになっていました。
echo $PS1 %n@%m %1~ %#