Пустая строка в моем bash.history?

Я смотрел на мой .bash_history, и я нашел пустую строку. Я думал, что, возможно, нажал "Enter", в то время как я смотрел в файле.

Это нормально? Или возможно я действительно нажал Enter при взгляде файла на gedit?

Править: Просто найденный сегодня, что у меня есть больше чем один разрыв строки. Это странно, я никогда не редактирую .bash_history файл.

6
задан 20 November 2014 в 08:51

3 ответа

Это не проблема, это не опасно и совершенно нормально. Можно получить такие строки, если Вы поражаете пространство несколько раз и затем совершаете нападки входят . Это будет сохранено в Вашей истории (так как это - непустая строка, пробелы являются символами просто невидимые).

Для тестирования этого мы можем использовать команду, которая печатает пустые строки в истории удара, Например, это grep будет соответствовать всем строкам, которые запускаются с чисел и затем имеют 0 или больше пробелов (пробелы или вкладки или безотносительно) и ничто иное до конца строки:

history | grep -P '^\s*\d+\s* 

, Который должен показать Вам список пустых команд, которые Вы выполнили. Теперь, выполненный (первое пространство хита средств строки несколько раз, затем войдите)

$ echo foo
foo
$       
$ history  | tail -n 3
$ history | tail -n 3
80  echo foo
81               ## this is the blank line
82  history | tail -n 3

, Вы заметите, что у Вас есть новая пустая строка. В заключение не волнуйтесь. все прекрасно, и это нормально.

, Который должен показать Вам список пустых команд, которые Вы выполнили. Теперь, выполненный (первое пространство хита средств строки несколько раз, затем войдите)

$ echo foo
foo
$       
$ history  | tail -n 3
$ history | tail -n 3
80  echo foo
81               ## this is the blank line
82  history | tail -n 3

, Вы заметите, что у Вас есть новая пустая строка. В заключение не волнуйтесь. все прекрасно, и это нормально.

4
ответ дан 23 November 2019 в 07:55

Как упомянутый terdon, это - вероятный пробел только строки.

существует две опции переменных среды, которые управляют, хранятся ли пробельные строки в истории или нет:

  • HISTCONTROL: если это содержит ignorespace, то любая строка, которая запускается с пробела, проигнорирована.

  • HISTIGNORE: двоеточие разделило список башмаков для игнорирования. Например, если это содержит:

    HISTIGNORE=' *'
    

    затем строки, которые запускаются с одиночного пробела, будут проигнорированы.

я не смог заставить удар сохранить действительно пустые строки без пробела.

1
ответ дан 23 November 2019 в 07:55

Здесь объяснение о том, как пустые строки могут произойти в .bash_history файл.

Вкратце:

при вызове из истории командной строки, которую Вы на самом деле ввели ранее на том же самом текущем терминальном сеансе и затем редактируете его (возможно, удаление его), но затем прерываете свое редактирование путем оставления этого (история-) командной строкой, использующей, например, Down стрелка для возвращения к подсказке фактической текущей командной строки, затем позже при выходе из терминала, редактирования зарегистрированы в .bash_history файле.

0
ответ дан 23 November 2019 в 07:55

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

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