🖥

Bashのコンソールをカスタマイズ

2 min read

はじめに

良くないのはわかっているが、深層にファイルを置くとパスが見にくくなってしまっていたので、 .bashrc をいじってキレイにしたときに調べたことのまとめ。
Powerline shell などアドオンはいくつもあるが、環境を汚したくないので力技で実現してます。

よく見る矢印 ==>==> のプロンプトを作る

よく見るアレ、実際は右三角の特殊文字と背景の色で出来るらしい(比較↓)


解説

表示内容の変更

文字 概要
\n 改行 -
\u 現在のユーザ名表示 usr
\h ホスト名(最初のドット以前) DESKTOP
\T プロンプト表示時点の時刻(12時間表示) 11:40:44
\w カレントディレクトリへのパス(ホームDIRを基点) ~/workspace
\$ ユーザ権限に応じて$#を表示 $ or #

こちらのサイト「 bashのプロンプトを変更するには 」に詳しく載っている

書体・色の変更

<概要>
\e[0m\] のような部品を使って変更可能

  • 一桁数 + m でボールドやイタリックなどの書体指定ができる
  • 二桁数 + m で文字色・背景色の指定などができる
  • \e[1;32;43m\] のようにセミコロンでまとめられる (元: \e[1m\]\e[32m\]\e[43m])
  • \e[(ターミナル側は\[として処理) と \] で囲まれた内容は非表示文字として扱われる
解説

$ export ps1='デフォルト \e[1m\] ここは太字 \e[0;41m\] デフォルト文字・赤背景 \e[0m\] \$ '

入力 効果
0m 書体などの設定を消す
3Xm 文字色の指定
4Xm 背景の指定

なお、Xの値は下記参考

X
0
1
2
3
4
5 マゼンタ
6 シアン
7
8 (引数で任意指定)
9 デフォルトの色

こちらのサイトに詳しくまとめられている「 ANSIエスケープコード

実装

特殊フォントは、 Menlo for Powerline の中に含まれている模様
複数のフォントを指定できるターミナルを使っているなら2番目以降に設定すればOK

ターミナルでこのフォントを指定しないと文字化けするので要注意

インストール後、 ~/.bashrc で下の場所を見つけ編集する
念のために、既存のものはコメントアウトしておくことをおすすめする

.bashrc
  .
  .
  .

if [ "$color_prompt" = yes ]; then
    PS1='\n${debian_chroot:+($debian_chroot)}\[\e[37;42m\]\u@\h \[\e[32;47m\]\[\e[30;47m\] \T \[\e[37;46m\] \w \[\e[00;36;49m\]\[\e[00m\]\n\$ '

    # 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
  .
  .
  .

編集後、

ターミナル

$ . ~/.bashrc