Команды, введенные с начальным пробелом, обычно не сохраняются в истории bash. Это особенность: если вы хотите, чтобы bash не помещал команду в историю, такую как опасная команда типа rm -rf ...
, поставьте перед ней пробел. Кроме того, повторяющиеся команды могут быть проигнорированы.
Это поведение настраивается с помощью переменной HISTCONTROL
. От man bash
:
HISTCONTROL
Список значений, разделенных двоеточиями, управляющий тем, как команды сохраняются в списке истории. Если в списке значений есть пробел игнорирования, строки, начинающиеся с пробела, не сохраняются в списке истории. Значение ignoredups приводит к тому, что строки, соответствующие предыдущей записи истории, не сохраняются. Значение ignoreboth является сокращением для ignorespace и ignoredups. Значение erasedups приводит к тому, что все предыдущие строки, соответствующие текущей строке, удаляются из списка истории перед сохранением этой строки. Любое значение, отсутствующее в приведенном выше списке, игнорируется. Если HISTCONTROL не установлен или не содержит допустимого значения, все строки, прочитанные синтаксическим анализатором оболочки, сохраняются в списке истории, в зависимости от значения HISTIGNORE. Вторая и последующие строки многострочной составной команды не тестируются и добавляются в историю независимо от значения HISTCONTROL.
Чтобы увидеть, как настроена ваша оболочка, запустите:
echo $HISTCONTROL
Чтобы изменить новую настройку, отредактируйте файл ~/.bashrc
.