export HISTFILE=<新しいコマンド履歴ファイル名>とする。
if [ "${STY}" != "" ]; then export HISTFILE=${HISTFILE_DIR}/${TERM}.${STY##*.}; fi
export HISTTIMEFORMAT="%F %T "
export PROMPT_COMMAND="history -a; history -r" shopt -o histappend # histappend は上記により不要になるので、無効にする
特殊文字 | 表示内容 |
---|---|
\a | ASCII のベル文字 (07) |
\d | "曜日 月 日" という形式の日付 (例: "Tue May 26") |
\D{format} | format が strftime(3) に渡され、 その結果がプロンプト文字列に挿入されます。 format が空の場合には (ブレースは必要)、 ロケールで指定された時刻表記になります。 |
\e | ASCII のエスケープ文字 (033) |
\h | ホスト名のうち最初の `.' までの部分 |
\H | ホスト名 |
\j | シェルによって現在管理されているジョブの数 |
\l | シェルの端末デバイスのベース名 (basename) |
\n | 改行 (newline) |
\r | 復帰 (carriage return) |
\s | シェルの名前。つまり $0 のベース名 (最後のスラッシュ以降の部分) |
\t | 24 時間制の HH:MM:SS 形式の現在の時刻 |
\T | 12 時間制の HH:MM:SS 形式の現在の時刻 |
\@ | 12 時間制の am/pm 形式の現在の時刻 |
\A | 12 時間制の HH:MM 形式の現在の時刻 |
\u | 現在のユーザのユーザ名 |
\v | bash のバージョン (例: 2.00) |
\V | bash のリリース。バージョンにパッチレベルを加えたもの (例: 2.00.0) |
\w | 現在の作業ディレクトリ。 $HOME の部分はチルダに短縮されます。 PROMPT_DIRTRIM の値が適用されます。 |
\W | 現在の作業ディレクトリのベース名 $HOME の部分はチルダに短縮されます。 |
\! | このコマンドの履歴番号 |
\# | このコマンドのコマンド番号 |
\$ | 実効 UID が 0 の場合に #、 それ以外の場合は $ |
\nnn | 8進数 nnn に対応する文字 |
\\ | バックスラッシュ |
\[ | 非表示文字のシーケンスの開始。 これを使うと、プロンプト中に端末の制御シーケンスを埋め込むことができます。 |
\] | 非表示文字のシーケンスを終了します。 |
git-prompt
/etc/bash_completion.d/git-prompt
[\u@\h:\l \W]$
PS1="[\u@\h:\l \W $(__git_ps1)]$ "
PS1="[\u@\h:\l \W\033[31m\]$(__git_ps1)\[\033[00m\]]$ "
/usr/lib/git-core/git-sh-prompt
parameter | setting val. | indicate description | remark |
---|---|---|---|
GIT_PS1_SHOWDIRTYSTATE | yes | "*":unstaged, "+":staged | |
GIT_PS1_SHOWSTASHSTATE | yes | "$":something is stashed | |
GIT_PS1_SHOWUNTRACKEDFILES | yes | "%":There are untracked files. | |
GIT_PS1_COMPRESSSPARSESTATE | yes | ||
GIT_PS1_SHOWUPSTREAM | yes | "<":behind, ">":ahead, "=":there is no difference | |
GIT_PS1_STATESEPARATOR | yes | ||
GIT_PS1_SHOWCOLORHINTS | yes |
$ cat ${HOME}/.bashrc <snip> GIT_PS1_SHOWDIRTYSTATE=yes GIT_PS1_SHOWUNTRACKEDFILES=yes GIT_PS1_SHOWUPSTREAM=yes PS1="[\u@\h:\l \W $(__git_ps1)]$ " <snip>