Получить историю bash, чтобы помнить только команды, выполняемые с префиксом пробела!

Команды, выполняемые в терминале с префиксом (-ами), не записываются в файл истории команд. Но есть ли способ получить обратное, то есть история должна записывать только те, которые имеют префикс с пробелом?

10
задан 21 February 2014 в 08:13

2 ответа

Вы можете изменить настройки Ubuntu по умолчанию, установив две переменные (HISTIGNORE a HISTCONTROL), используя команды, как показано ниже:

HISTIGNORE='!( *)'
HISTCONTROL=ignoredups

HISTCONTROL=ignoredups изменяет поведение истории, чтобы игнорировать только повторяющиеся строки, и не игнорировать строки, начинающиеся с пробела. (Вы также можете установить HISTCONTROL на пустую строку (с HISTCONTROL=), если вы хотите сохранить дубликаты, но это обычно не требуется.)

HISTIGNORE='!( *)' заставляет историю игнорировать каждую строку, которая не начать с пробела: ( *) будет соответствовать каждой строке, начинающейся с пробела, но ведущая ! отрицает совпадение, поэтому оно соответствует всему, что не начинается с пробела. И все, что соответствует шаблону HISTIGNORE, будет игнорироваться историей. (Эта последняя опция требует, чтобы bash запускался с включенным extglob, с shopt -s extglob, но это настройка по умолчанию в Ubuntu.)

Если вы хотите сделать это постоянным, не забудьте поместите две вышеуказанные команды в свой ~/.bashrc.

0
ответ дан 21 February 2014 в 08:13

« Команды, выполняемые в терминале с префиксом (-ами), не записываются в файл истории команд »

Да, они есть.

terminal history

0
ответ дан 21 February 2014 в 08:13

Другие вопросы по тегам:

Похожие вопросы: