2014/03/25更新

[Mac] ターミナルの$前の出力内容をカスタマイズする

このエントリーをはてなブックマークに追加            

こんにちは、@yoheiMuneです。
今日は、Macなどのターミナルで「$」の左側の表示を変更する方法を学んだので、それをブログに書きたいと思います。

画像

Special Thanks to http://flic.kr/p/6aSMGt



まずはゴールを

今回のブログで説明するカスタマイズをすることで、ターミナルの表示を以下のように変更することができます。

変更前

画像

変更後

画像

変更後は、表示している内容や色が変わっていることが分かります。 この「表示内容」や「色」を自由にカスタマイズする内容をご紹介できればと思います。



出力内容を設定する

ターミナルの$前の出力フォーマットは、Macの場合、環境変数のPS1で指定されています。 まずは、現在のPS1の内容を出力してみましょう。
$ echo $PS1
\h:\W \u\$
何か指定されていることが分かります。 ここで表示されている\h\Wには、特別な意味があります。具体的な内容は、以下の通りです。
意味
\h ホスト名(最初の.まで)
\H ホスト名
\t 時間(24時間形式)
\u ユーザー名
\w 現在のディレクトリ(フルパス)
\W 現在のディレクトリ名
他にも設定可能な項目が色々とあるようです。詳しくは、プロンプトの確認や設定 - Pocketstudio.jp Linux Wikiをご参照ください。

それでは、PS1 の値を変更してみましょう。
$ PS1="\u:\t \W $" # ユーザー名:時間 ディレクトリ名 $
ユーザー名、現在時刻、ディレクトリ名が表示されるようになりました。
上記のように環境変数に代入した場合、ターミナルを再起動すると設定が戻ってしまいますので、 今後、設定したプロンプト表現を使いたい場合には、~/.bashrcなどに記載します。
# ~/.bashrc
PS1="\u:\t \W $" # ユーザー名:時間 ディレクトリ名 $
これでターミナルを再起動しても、同じ設定が利用できるようになりました。 (ターミナルを再起動しても設定が有効にならない場合には、~/.bashrc~/.bash_profileから実行されているか確認してみてください。)


色を指定する

今のところ白色の文字ですが、色を指定することもできます。まずは、上記の出力を、赤色にしてみたいと思います。
$ PS1="\[\033[31m\]\u:\t \W $\[\033[0m\]"
赤色の出力になりましたでしょうか。 分かりづらいですが、\[\033[31m\]\[\033[0m\]で囲うことで、その中の文字を赤色に指定しています。
ここで31という値がポイントで、31は赤を示しています。出力内容で別々の色を指定するには、例えば以下のように行います。
# 31が赤で、32が緑です
$ PS1="\[\033[31m\]\u:\t\[\033[0m\]\[\033[32m\] \W\[\033[0m\] $"	
かなり難読な設定ですが、このように色を指定することができます。どの数値がどの色なのかは、以下のようになっています。
30 Black
31 Red
32 Green
33 Yellow
34 Blue
35 Magenta
36 Cyan
37 White

参考:ASCII Table - ANSI Escape sequences


あと、文字色以外に背景色も指定できるようです。詳しくは、bashのプロンプトに色をつける | ブーログで紹介されていましたので、そちらをご参照ください。

さてここまでで、最初に示したカスタマイズ後の表示になりました♪
画像



最後に

ターミナルの出力を自分好みにカスタマイズすることで、黒い画面も少しお気に入りになるかも!?と思い、紹介させて頂きましたw。 ターミナルを仕事で使う方は、ぜひカスタマイズもしてみてください。

最後までご覧頂きましてありがとうございました☆





こんな記事もいかがですか?

RSS画像

もしご興味をお持ち頂けましたら、ぜひRSSへの登録をお願い致します。