Команды, выполняемые в терминале с префиксом (-ами), не записываются в файл истории команд. Но есть ли способ получить обратное, то есть история должна записывать только те, которые имеют префикс с пробелом?
Вы можете изменить настройки Ubuntu по умолчанию, установив две переменные (HISTIGNORE a HISTCONTROL), используя команды, как показано ниже:
HISTIGNORE='!( *)'
HISTCONTROL=ignoredups
HISTCONTROL=ignoredups
изменяет поведение истории, чтобы игнорировать только повторяющиеся строки, и не игнорировать строки, начинающиеся с пробела. (Вы также можете установить HISTCONTROL на пустую строку (с HISTCONTROL=
), если вы хотите сохранить дубликаты, но это обычно не требуется.)
HISTIGNORE='!( *)'
заставляет историю игнорировать каждую строку, которая не начать с пробела: ( *)
будет соответствовать каждой строке, начинающейся с пробела, но ведущая !
отрицает совпадение, поэтому оно соответствует всему, что не начинается с пробела. И все, что соответствует шаблону HISTIGNORE, будет игнорироваться историей. (Эта последняя опция требует, чтобы bash запускался с включенным extglob
, с shopt -s extglob
, но это настройка по умолчанию в Ubuntu.)
Если вы хотите сделать это постоянным, не забудьте поместите две вышеуказанные команды в свой ~/.bashrc
.
« Команды, выполняемые в терминале с префиксом (-ами), не записываются в файл истории команд »
Да, они есть.