По умолчанию .bashrc в стандартном дистрибутиве Ubuntu 16.04, который поставляется с AWS, есть следующие строки:
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth
Однако он не работает. Я несколько раз запускал pm2 restart myApp и pm2 list с помощью клавиши со стрелкой вверх, а в буфере команд теперь содержится почти сотня строк.
Что может быть неправильным?
Он работает по назначению. ignoredups, подразумеваемый ignoreboth, не добавляет команду в историю, если она совпадает с предыдущей командой. Это еще не отразилось на истории. Из руководства:
Значение «ignoredups» заставляет строки, которые соответствуют предыдущей записи истории, не сохраняться.Итак, это добавит foo дважды в историю:
$ foo
$ bar
$ foo
Но так будет:
$ foo
$ bar
$ foo
$ foo
Последний foo не будет добавлено в историю, так как предыдущая команда была foo. Используйте erasedups совместно:
Значение «ignoredups» заставляет строки, которые соответствуют предыдущей записи истории, не сохраняться.
A значение 'erasedups' заставляет все предыдущие строки, соответствующие текущей строке, удаляться из списка истории до того, как эта строка будет сохранена.
HISTCONTROL=ignoreboth:erasedups
Он работает по назначению. ignoredups, подразумеваемый ignoreboth, не добавляет команду в историю, если она совпадает с предыдущей командой. Это еще не отразилось на истории. Из руководства:
Значение «ignoredups» заставляет строки, которые соответствуют предыдущей записи истории, не сохраняться.Итак, это добавит foo дважды в историю:
$ foo
$ bar
$ foo
Но так будет:
$ foo
$ bar
$ foo
$ foo
Последний foo не будет добавлено в историю, так как предыдущая команда была foo. Используйте erasedups совместно:
Значение «ignoredups» заставляет строки, которые соответствуют предыдущей записи истории, не сохраняться.
A значение 'erasedups' заставляет все предыдущие строки, соответствующие текущей строке, удаляться из списка истории до того, как эта строка будет сохранена.
HISTCONTROL=ignoreboth:erasedups
Он работает по назначению. ignoredups, подразумеваемый ignoreboth, не добавляет команду в историю, если она совпадает с предыдущей командой. Это еще не отразилось на истории. Из руководства:
Значение «ignoredups» заставляет строки, которые соответствуют предыдущей записи истории, не сохраняться.Итак, это добавит foo дважды в историю:
$ foo
$ bar
$ foo
Но так будет:
$ foo
$ bar
$ foo
$ foo
Последний foo не будет добавлено в историю, так как предыдущая команда была foo. Используйте erasedups совместно:
Значение «ignoredups» заставляет строки, которые соответствуют предыдущей записи истории, не сохраняться.
A значение 'erasedups' заставляет все предыдущие строки, соответствующие текущей строке, удаляться из списка истории до того, как эта строка будет сохранена.
HISTCONTROL=ignoreboth:erasedups