Кажется, у меня все получилось. Я просто набрал sudo apt-get install systemd
, чтобы установить systemd
, он сообщил:
The following NEW packages will be installed:
libsystemd-journal0 systemd
0 upgraded, 2 newly installed, 0 to remove and 26 not upgraded.
После этого я получаю файл journald.conf
, автоматически созданный в папке /etc/systemd/
. Думаю, теперь это сработает -Спасибо
Чтобы получить пустую историю, временно установитеHISTSIZE
на ноль.
function erase_history { local HISTSIZE=0; }
erase_history
Если вы хотите стереть новую историю из этого экземпляра оболочки, но сохранить старую историю, которая была загружена изначально, очистите историю, как указано выше, а затем повторно загрузите сохраненную историю fc -R
.
Если вы не хотите, чтобы вызов erase_history
записывался в историю, вы можете отфильтровать его в хукеzshaddhistory
.
function zshaddhistory_erase_history {
[[ $1 != [[:space:]]#erase_history[[:space:]]# ]]
}
zshaddhistory_functions+=(zshaddhistory_erase_history)
Удаление одного определенного элемента истории(history -d NUM
в bash )— это другое дело. Я не думаю, что есть другой способ, кроме:
fc -AI
для добавления к файлу истории или fc -WI
для перезаписи файла истории, в зависимости от ваших предпочтений обмена историей. $HISTFILE
). fc -R
. Попробуйте запустить следующую команду:
kill -9 $$
Текущий терминал будет уничтожен без сохранения истории сеанса.
Также может быть полезно следующее:
rm -f ~/.zsh_history && kill -9 $$
Это приведет к удалению файла истории и остановке текущего терминала без сохранения истории сеанса.
Аналогично ответу @Gimi, но немного мягче, вместо удаления файла я стираю все его содержимое.
echo -n > ~/.zsh_history
или
:>.zsh_history