Я использую cygwin с bash (на Windows 7 pro). У меня есть следующее в .bashrc
:
# Don't put duplicate lines in the history.
export HISTCONTROL="ignoredups"
и следующее в .bash_profile
:
# source the system wide bashrc if it exists
if [ -e /etc/bash.bashrc ] ; then
source /etc/bash.bashrc
fi
# source the users bashrc if it exists
if [ -e "${HOME}/.bashrc" ] ; then
source "${HOME}/.bashrc"
fi
Однако история команд изобилует дубликатами.
решение1
ignoredups
предотвращает только дубликаты, соответствующие предыдущей строке. Таким образом, ваша история не должна содержать
ls
ls
Но он все еще может содержать
ls
cd
ls
man bash
говорит (выделено мной):
Значение
ignoredups
вызывает строки, соответствующиепредыдущийзапись в истории не сохраняется.