Uso bash y me gustaría evitar que algunos comandos se mantengan en el historial.
- ¿Es posible hacer eso solo para el siguiente comando?
- ¿Es posible hacer eso durante toda la sesión?
Uso bash y me gustaría evitar que algunos comandos se mantengan en el historial.
Respuestas:
y acabo de recordar otra respuesta, esta es la respuesta real a tu pregunta.
si tiene "ignorespace" en HISTCONTROL, bash no recordará ninguna línea que comience con un carácter de espacio. ni siquiera aparecerá en el historial del shell actual, y mucho menos se guardará en $ HISTFILE.
por ejemplo, he exportado HISTCONTROL = 'ignoreboth: erasedups' en mi ~ / .bashrc
Aquí están los detalles de la página de manual de bash:
fuente
Aquí hay algunas lecciones de historia que aprendí de googlear:
Puede configurar el historial para ignorar ciertas cadenas. En este ejemplo, ignoré los comandos ls, passwd y cualquier comando prefijado por el espacio de caracteres.
Para deshabilitar el historial de su sesión, puede emitir:
Referencia
fuente
Si solo desea eliminar el último comando del historial, puede presionar Up-arrow, seguido de Ctrl - U(borrar hasta el comienzo de la línea), y luego Up-arrownuevamente.
Puede borrar cualquier línea individual del historial de esta manera. Simplemente use la flecha hacia arriba o buscar o lo que sea para convertirla en la línea de comando actual que se está editando, luego presione Ctrl - Uy luego Up-arrowo Down-arrowpara pasar a otra línea del historial.
Descubrí esto por accidente hace un día años. No tengo idea de si está documentado o no.
En general, sin embargo, es menos complicado no guardar el historial actual del shell con:
fuente
Podrías desarmar la
HISTFILE
variable. Deman bash
:No creo que esto evite que el comando aparezca en el historial del shell local antes de que el shell salga.
fuente
A veces hago
fuente
Veo que nadie escribió este método, así que lo haré.
history -d
elimina la entrada mencionada del historial.HISTCMD
almacena el número_comando del comando que se ejecutará a continuación. Entonces, (HISTCMD-1) se refiere al último comando ejecutado.Hice una película corta de bash que muestra cómo funciona: https://asciinema.org/a/dtxpuovhty0obhln50soqypt2
Después de ejecutar el comando y debido a que también elimina el comando en sí mismo, subir con la flecha no mostrará el comando, por lo que si planea usarlo con frecuencia, sería mejor crear un alias:
Entonces puedes hacer:
fuente