En algunos casos (algunas versiones bash), haciendo:
$ history -c; history -w
O simplemente
$ history -cw
Borrará el historial en la memoria (las flechas hacia arriba y hacia abajo no tendrán comandos para enumerar) y luego escribirá eso al $HISTFILE archivo (si el $HISTFILE se trunca por la instancia de bash en ejecución).
A veces bash elige no truncar el $HISTFILE archivo incluso con histappend opción no establecida y $HISFILEZIZE establecido en 0.
En tales casos, la opción nuclear siempre funciona:
history -c; >$HISTFILE
Que borre la lista histórica de comandos grabados en la memoria y todos los comandos grabados previamente en el archivo. Eso asegurará que el shell en ejecución no tenga un historial registrado ni en la memoria ni en el disco; sin embargo, otras instancias en ejecución de bash (donde el historial está activo) pueden tener una copia completa de los comandos leídos desde $HISTFILE cuando se inició bash (o cuando un history -r se ejecuta).
Si es también requería que no se escribiera nada más (ningún comando nuevo) de la sesión actual en el archivo de historial, entonces, unset HISTFILE evitará cualquier tipo de registro.
bash tiene un historial de sesiones en la memoria que se escribe en un archivo si la variable de shell HISTFILE se establece en un nombre de archivo cuando bash salidas.
Si elimina el archivo señalado por HISTFILE , desactive esa variable y salga de bash , entonces esa sesión de shell no dejará ningún historial persistente.
Error al desarmar el HISTFILE variable, pero eliminar el archivo simplemente vaciaría el historial persistente, pero el historial de la sesión actual se guardaría cuando se cierre el shell.