historyの履歴に重複するコマンド履歴を保存しない方法 †historyで確認できるコマンド履歴上に重複するコマンド履歴がある場合、実行したコマンドを履歴に残さない方法があります。 sakura@ubuntu:~$ LANG=C bash --version GNU bash, version 4.2.25(1)-release (i686-pc-linux-gnu) <snip> 関連記事 †環境変数HISTCONTROLに関する記事は以下のリンクを参照してください。
HISTCONTROL=erasedupsについて †最初に書いたとおり、コマンド履歴上に同一のコマンドがあった場合、履歴対象となりません。 export HISTCONTROL=erasedups manコマンドで確認してみる †HISTCONTROLについてmanコマンドを実行してマニュアルを見てみます。 $ man bash <snip> HISTCONTROL A colon-separated list of values controlling how commands are saved on the history list. If the list of values includes ignorespace, lines which begin with a space character are not saved in the history list. A value of ignoredups causes lines matching the previous history entry to not be saved. A value of ignoreboth is shorthand for ignorespace and ignoredups. A value of erasedups causes all previous lines matching the current line to be removed from the history list before that line is saved. Any value not in the above list is ignored. If HISTCONTROL is unset, or does not include a valid value, all lines read by the shell parser are saved on the history list, subject to the value of HISTIGNORE. The second and subsequent lines of a multi-line compound command are not tested, and are added to the history regardless of the value of HISTCONTROL. <snip> 上記の出力からわかるように以下のように記されています。 HISTCONTROL=erasedups を試してみるします。 †HISTCONTROL=erasedupsを実際に設定し実行した出力例です。
以上、HISTCONTROL=erasedupsに関する記事でした。 |