![Почему в результате выполнения команды history в Linux появляется пустая строка, начинающаяся с «*»?](https://rvso.com/image/1416685/%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83%20%D0%B2%20%D1%80%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B5%20%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B%20history%20%D0%B2%20Linux%20%D0%BF%D0%BE%D1%8F%D0%B2%D0%BB%D1%8F%D0%B5%D1%82%D1%81%D1%8F%20%D0%BF%D1%83%D1%81%D1%82%D0%B0%D1%8F%20%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B0%2C%20%D0%BD%D0%B0%D1%87%D0%B8%D0%BD%D0%B0%D1%8E%D1%89%D0%B0%D1%8F%D1%81%D1%8F%20%D1%81%20%C2%AB*%C2%BB%3F.png)
Сегодня на работе я хочу узнать history
команду, с которой я не очень знаком, и я был уверен, что я только что выполнил ее. Однако, когда я запустил history
то же самое окно терминала, я ничего не нашел об этой команде. Что меня еще больше смутило или даже разозлило, так это то, что я нашел пустую строку, начинающуюся с "*" в выводе history
. Есть ли кто-нибудь, кто может мне сказать, почему? Пожалуйста, дайте какие-нибудь конкретные объяснения.
2008 make build_asdfasdfa
2009 ls
2010 cd asdfasdf
2011 ls
2012*
2013 exxxxxxxxxxxxxxxxxxx
2014 ls
2015 exxxxxxxxxxxxxxxxxx
2016 ls
2017 exxxxxxxxxxxxxxxxxxxxxx
2018 ls
решение1
Строки истории, которые были изменены, отображаются с значком *
в начале команды, при условии, что это mark-modified-lines
свойство включено в конфигурации ReadLine.
Вот что говорится в документации ReadLine:
mark-modified-lines
This variable, when set to On, says to display an asterisk ('*') at the
start of history lines which have been modified. This variable is off
by default.