По умолчанию Bash сохраняет историю при выходе из оболочки. Таким образом, он потеряет свою текущую историю, если будет изящно уничтожен без -.
Вы можете сохранить текущую историю Bash, запустив:
$ history -a
Зная это, вы можете заставить Bash сохранять свою историю после каждой выполненной команды, запустив history -a
после каждой выполненной команды. Один из способов сделать это через командную строку Bash:
PROMPT_COMMAND='history -a'
Это работает, потому что подсказка Bash будет выполнять $PS1
, $PROMPT_COMMAND
и другие действия при каждой новой подсказке.
Вот отличная запись в блоге, которая натолкнула меня на эту идею:https://sanctum.geek.nz/arabesque/better-bash-history/
Для этого есть несколько решений, но я думаю, что наиболее подходящим будет Контейнеры Linux . Он легче, чем виртуальная машина, и не должен сильно влиять на производительность. Я знаю, что вы используете Debian, но эта страница в Arch Wiki, скорее всего, будет очень полезной.
Для минимальных проблем с настройкой без накладных расходов на полный эмулятор рассмотритеfirejail
. Например, это запускает somegame и сохраняет отдельную многократно используемую оверлейную файловую системуfoobar , которая является единственным somegame чтением или записью данных в:
firejail --overlay-named foobar somegame
Если нет необходимости повторно использовать оверлей, (чтобы какая-то игра забывала все при каждом запуске ), сократите приведенную выше команду до:
firejail --overlay somegame