Может ли кто-нибудь подтвердить, что установка следующих переменных env в debian lenny приведет к тому, что предыдущие записи истории не будут сохранены. GNU bash, версия 3.2.39 (1) -релиз
export HISTCONTROL=ignoreboth
export HISTSIZE=500
Я добавил их в свой /etc/bash.bashrc
но я продолжаю получать повторяющиеся команды.
Опции «ignoreboth» и «ignoredups» только предотвращают добавление дубликатов непосредственно предшествующей команды в историю. Предыдущие дубликаты не действуют.
$ echo $HISTCONTROL
ignoreboth
$ echo a
a
$ echo b
b
$ echo b
b
$ echo a
a
$ history 4
1047 echo a
1048 echo b
1049 echo a
1050 history 4
Как вы видете echo a
появляется дважды и echo b
появляется один раз.
Возможно, вы ищете вариант «стирания».
$ echo $HISTCONTROL
ignoreboth:erasedups
$ echo c
c
$ echo d
d
$ echo d
d
$ echo c
c
$ history 4
1076 echo $HISTCONTROL
1077 echo c
1078 echo d
1079 history 4
Здесь оба echo c
и echo d
появляются только один раз.
Попробуйте использовать ignoredups вместо ignoreboth, добавьте его в файл / etc / profile.
Уникально записывать каждую новую команду сложно. Сначала вам нужно добавить к ~/.profile
или похожие:
HISTCONTROL=erasedups
PROMPT_COMMAND='history -w'
Тогда вам нужно добавить в ~/.bash_logout
:
history -a
history -w