export HISTFILE=<新しいコマンド履歴ファイル名>とする。
if [ "${STY}" != "" ]; then
export HISTFILE=${HISTFILE_DIR}/${TERM}.${STY##*.};
fiexport 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>