
次の一連のコマンドを入力するとします。
$ cd
$ ls
$ ls
履歴に戻るために2回押すと、代わりにupが表示されます。cd
ls
私はこれが常にそうではないことがわかったので、どこかにbash設定があるかもしれません。何ですか?
答え1
変数によってHISTCONTROL
制御されます。含まれている場合、ignoredups
重複したコマンドは履歴に保存されません。この文字列がない場合は保存されます。これは通常、次のようなものを.profile
設定または使用します。.bashrc
export HISTCONTROL=ignoredups
HISTControlで利用可能な他の値(複数可、区切り:
)
- スペースを無視する空白で始まるコマンドは履歴に追加されません。
- こすり落とす重複したコマンドは履歴から削除されるため、履歴には最新のコマンドのみが含まれます。
- 両方とも無視同じ
ignoredups:ignorespace
答え2
HISCONTROL=ignoredups
http://www.gnu.org/software/bash/manual/html_node/Bash-Variables.html#Bash-Variables