.bash_history関連の環境変数アレコレ

いくつか使えそうなものをメモ書き。

HISTSIZE

export HISTSIZE=5000

HISTORYとして記録するコマンドの履歴数。
HISTSIZEの値を小さくした場合、過去のヒストリは切り捨てられる。

HISTFILE

export HISTFILE=~/.bash_history-${HOSTNAME}

コマンド履歴(HISTORY)を保存するファイル名。デフォルト値は「~/.bash_history」。

HISTFILESIZE

export HISTFILESIZE=5000

上記の履歴ファイルに保存する履歴の最大数(行数)。必要に応じて過去の古い履歴は切り捨てられる。

HISTCONTROL

export HISTCONTROL=ignoredups
  • "ignorespace" の値が設定されていると、 空白文字で始まる行は履歴リストに入らない。
  • "ignoredups" の値が設定されていると、履歴の最後の行にマッチする行は履歴リストに入らない。(連続して同じコマンドを実行した場合、重複して記録されない。)
  • "ignoreboth" の値が設定されていると、上記の2つのオプションが同時に実現される。

指定がない場合は、全ての入力が履歴として記録される。

HISTIGNORE

export HISTIGNORE=ls

パターンを指定することで、実行したコマンドがそれにマッチした場合、履歴リストに入らない。上記例は、"ls"コマンドを履歴として記録したくない場合。
"*"などのワイルドカードも利用可能。

export HISTIGNORE=ls:history

ちなみに、コロンで区切ることと複数コマンドを指定することも可能。

HISTCMD

現在のコマンドの履歴番号が取得できる・・・が、使い道がよくわからないっす(^^;