HISTCONTROL= игнорировать оба не работает Debian Ленни
Кто-нибудь может подтвердить, что, установив следующие переменные env в debian lenny, предыдущие записи истории не будут сохранены. GNU bash, версия 3.2.39(1)-релиз
export HISTCONTROL=ignoreboth
export HISTSIZE=500
Я добавил их в свой /etc/bash.bashrc
но я продолжаю получать повторные команды.
3 ответа
Параметры "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
появляется один раз.
Возможно, вы ищете опцию "erasedups".
$ 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
появляются только один раз.
Для уникальной записи каждой новой команды сложно. Сначала нужно добавить в~/.profile
или похожие:
HISTCONTROL=erasedups
PROMPT_COMMAND='history -w'
Тогда вам нужно добавить в ~/.bash_logout
:
history -a
history -w
Попробуйте использовать ignoredups intead ignoreboth, добавьте его в файл /etc/profile.