Original article: http://kbase.redhat.com/faq/docs/DOC-9477.pdf
Translated by Ivan Pesin, June 2009
Переменная окружения HISTCONTROL задаёт параметры сохранения команд в истории команд интерпретатора bash.
HISTCONTROL состоит из списка опций, разделённых двоеточием. Опции могут принимать следующие четыре значения:
- Если список опций содержит ignorespace, то команды, начинающиеся с пробела, сохраняться в истории не будут.
- Опция ignoredups указывает, что строки совпадающие с последней строкой истории, сохранятся не будут.
- Опция ignoreboth — сокращение для ignorespace и ignoredups.
- Опция erasedups говорит интерпретатору, что перед добавлением новой строки в историю команд, нужно удалить все старые строки, совпадающие с добавляемой.
Любое другое значение, кроме указанных, будет игнорироваться.
Если переменная HISTCONTROL не определена, или не содержит допустимого значения, все команды, вводимые в интерпретаторе, будут сохранены в истории команд.
Заметьте, что вторая и последующие строки многострочной команды не проверяются и добавляются в историю команд вне зависимости от значения переменной HISTCONTROL.
Переменная HISTCONTROL может определяться и для конкретного пользователя, и на всю систему, аналогично всем другим переменным окружения интерпретатора bash. Например, чтобы задать опцию ignorespace для всей системы, добавьте следующую строку в файл /etc/bashrc
:
export HISTCONTROL=ignorespace
Чтобы задать опцию для конкретного пользователя, укажите необходимую строку в файле .bash_profile
в домашнем каталоге пользователя. Обратите внимание, что изменения не будут активизированы до тех пор, пока пользователь полностью не выйдет из интерпретатора и не зайдёт повторно.