Как прочитать историю сеанса, находящуюся в данный момент в памяти (историю, которая в конечном итоге записывается в «.bash _history» после выхода из системы

В debugfsвы можете удалить файл. Вам даже не нужно имя файла (, которое может быть актуально, если есть проблемы со специальными символами, как догадался Франсуа П в комментариях):

kill_file <26808797>
0
15.09.2020, 03:11
1 ответ

history -a FILEсохраняет историю с момента последнего запускаhistory -aпо FILE, а history -r FILEзагружает содержимое FILEв историю памяти -. Давайте попробуем использовать это в оболочке с конфигурацией по умолчанию:

$ PS1='parent\$ ' bash --noprofile --norc

Теперь давайте очистим пользовательский файл истории, который мы собираемся использовать, и файл истории Bash по умолчанию:

parent$ > history.txt
parent$ > ~/.bash_history

Затем мы запускаем другую подоболочку, чтобы продемонстрировать сохранение и загрузку истории:

parent$ PS1='child\$ ' bash --noprofile --norc

Затем выполните команду:

child$ echo foo
foo

Сохранить историю в указанный файл:

child$ history -a history.txt

Добавить историю в файл по умолчанию:

child$ cat history.txt >> ~/.bash_history

Выйти из оболочки:

child$ exit
exit

Убедитесь, что пользовательский файл истории содержит то, что мы ожидаем:

parent$ cat history.txt
echo foo
history -a history.txt

Убедитесь, что файл истории Bash содержит то, что мы ожидаем:

parent$ cat ~/.bash_history
echo foo
history -a history.txt
cat history.txt >> ~/.bash_history
exit
0
18.03.2021, 23:05

Теги

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