takahiro_itazuriの公倍数的ブログ

本やWebを通して学習したことをまとめるブログです。最大公約数(つまり、共通部分)的なという表現と対比して、「なるべく包括的にカバーしつつ、更に+αの要素も加えられたらいいな」という意味で公倍数的ブログと名付けました。

.bashrcからcolor promptを変更しよう

以前、「bashとは」という記事を書かせていただきました。

それに少し関連して、今回はTerminalを開いた時のプロンプトの見た目を変更したいと思います。

目次

.bashrcとは

タイトルに書いてあった「.bashrc」ですが、なんやねんという感じですよね。

これはシェル(bash)にログインする時に毎回読み込まれるユーザ指定の設定ファイルのことです。

実はあなたのパソコンにも既にHomeに存在しています。

しかし、そのままでは見れません。

[Crtl + H]を押して見てください。

すると隠しファイルというものが現れます。

隠すにも理由がありまして、こういうファイルをむやみに変更したり、消去したりしてしまうとパソコンがお陀仏になってしまう可能性があるからです。

ですので、あえて隠してあります。

実際に、.bashrcをgeditで開くとなにやらスクリプトが書いてあります。

これをTerminalを開く度に読み込んでくれているんです。

color promptを変更しよう

まずprompt(プロンプト)とは、コマンドの入力待ちをしている状態のことを言います。

ドルマーク($)がついているところがあると思います。

キーボードを押すとそこに入力ができる。つまり、入力待ちをしているです。

このプロンプトの構成は次のようになっています。

user_name@host_name:~/full/path$

今回はこの見た目を変えてあげましょうということです。

なんで変えるかというと、プロンプトが長くなって見づらくなることがあるからです。

先ほど見たようにプロンプトには入力待ちになる度に先ほどのものが表示されます。

さらにこれらはTerminalの最上部にも表示されています。

なんか少し邪魔な感じがしますよね?


とりあえず、理由はなんでもいいので、変更する方法を教えます。

まず.bashrcの中で、このプロンプトの設定をしている部分は次の部分です。

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi

このPS1にイコールで代入している値を変更すればいいのです。

ここで気にしてほしいのが、PS1に代入している値の中の、「\(バックスラッシュ)」が付いている部分。

これらは次のように対応しています。

  • \u : ユーザ名
  • \h : ホスト名
  • \w : フルパス

そして、一応頭に入れておいた方がいいは、

'\[\]'

で囲まれている部分で、ここにはそれ以降に書いてある部分の色を決定しています。

ですので、色を変更したい時はこちらを変更します。(色のコードについては今回は省略します。)

ここで実際に僕が設定してるものをお見せします。

    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;34m\]\W\[\033[00m\]\$ '

このように\uや\h、その色を指定する部分等を消して、\wを\Wにしています。

これによって、下のように重複していた部分のユーザ名やホスト名が消え、\wでフルパスだったものが、\Wによってかれんどディレクトリだけの表示になります。

current_directory$

このようにPS1の部分を自分で変えることで見た目を変更できます。

今回はこれで終わります。
もっと変更したい人はコメント等をいただければ、返信します。