Если вы установили переменную среды HISTCONTROL
в ignoreboth
(которая обычно задается по умолчанию), команды с символом ведущего пробела не будут сохранены в истории (а также дубликаты).
Например:
$ HISTCONTROL=ignoreboth
$ echo test1
$ echo test2
$ history | tail -n2
1015 echo test1
1016 history | tail -n2
Вот что говорит man bash
:
HISTCONTROL
Список значений, разделенных двоеточием контролируя, как команды сохраняются в списке истории. Если список значений включает
blockquote>ignorespace
, строки, начинающиеся с символа пробела, не сохраняются в списке истории. Значениеignoredups
приводит к тому, что строки, соответствующие предыдущей записи истории, не сохраняются. Значениеignoreboth
является сокращением дляignorespace
иignoredups
. Значениеerasedups
приводит к тому, что все предыдущие строки, соответствующие текущей строке, будут удалены из списка истории до того, как эта строка будет сохранена. Любое значение, не указанное в приведенном выше списке, игнорируется. ЕслиHISTCONTROL
не задано или не содержит допустимого значения, все строки, прочитанные анализатором оболочки, сохраняются в списке истории, при условии значенияHISTIGNORE
. Вторая и последующая строки многострочной команды соединения не проверяются и добавляются в историю независимо от значенияHISTCONTROL
.См. Также: