bash設定

Last-modified: 2010-10-11 (月) 19:10:15

bashの設定

.bashrc の設定を加えます.

bash プロンプトの設定

例えば

\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$

ならば,ウインドウタイトルがカレントディレクトリ名になり,ターミナル内では次のように表示されます.

(改行)
ユーザ名@ホスト名
$

な感じになります.
設定方法)

SP1="\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$"

参照
http://www.linux.or.jp/JF/JFdocs/Bash-Prompt-HOWTO-2.html
http://www2u.biglobe.ne.jp/~hsaka/tool.html

カラー表示etc "\e[コードm" example \e[33m
タイトル変更 "\e]0;タイトル\a" example \e]0;hoge\a
notice: 参照HPでは"\e]2;タイトル\a"となっていたが,"\e]0;タイトル\a"で変更できた.原因はシェルの種類の関係か.

      \a     ASCII のベル文字 (07) --> 単体だとビープ音が鳴る
      \d     "曜日 月 日"のフォーマットによる日付け
             (例 "Tue May 26")
      \e     ASCII のエスケープ文字 (033)  --> [ESC]にあたる
      \h     最初の"."のところまでのホスト名
      \H     ホスト名
      \n     改行
      \r     復帰
      \s     シェル名、$0 のベース名
             (最後のスラッシュの後ろの部分)
      \t     24時間制の HH:MM:SS のフォーマットによる時間
      \T     12時間制の HH:MM:SS のフォーマットによる時間
      \@     am/pm をつけた12時間制のフォーマットによる時間
      \u     現ユーザーのユーザー名
      \v     bash のバージョン(例 2.00)
      \V     bash のリリース番号、バージョンとパッチレベル
             (例 2.00.0)
      \w     現在のディレクトリ
      \W     現在のディレクトリのベース名
      \!     現在のコマンドのヒストリー番号
      \#     現在のコマンドのコマンド番号
      \$     UIDが0なら#、そうでなければ$
      \nnn   8進数nnnに対応する文字
      \\     バックスラッシュ
      \[     表示されない文字列の開始。端末制御シーケンスを
             プロンプトに埋め込む。
      \]     表示されない文字列の終り。

エスケープ文字との組み合わせ(カラー化コードなど)
このコードを書いた以降全てに適応する.
使用方法 "\e[コードm"or"\033[コードm"
複数同時は";"で区切る e.g.) $ printf "\e[33;01;04m"

    00 … 初期状態へ、理解しない端末もある
    01 … bold(太字)
    04 … アンダーライン
    05 … blink(太字になる端末が多い)
    07 … reverse(反転)
    30 … 文字を black
    31 … 文字を red
    32 … 文字を green
    33 … 文字を yellow
    34 … 文字を blue
    35 … 文字を magenta
    36 … 文字を cyan
    37 … 文字を white
    40 … 背景を black
    41 … 背景を red
    42 … 背景を green
    43 … 背景を yellow
    44 … 背景を blue
    45 … 背景を magenta
    46 … 背景を cyan
    47 … 背景を white

bashにおけるPATH

とりあえずメモ書き程度に

C_INCLUDE_PATH      -->C言語
CPLUS_INCLUDE_PATH  -->C++
LIBRARY_PATH        -->ライブラリーパス

e.g.)

export C_INCLUDE_PATH=/urs/hoge/hoge/include
export CPLUS_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/hoge/include

こんな感じでパスをつなげていく

aliasについて

alias hoge='emacs'

と設定しておけば

$ hoge

で"emacs"が起動します.

編集用のメモ

http://d.hatena.ne.jp/camlspotter/20100808/1281248508