¿Puedes compartir la sabiduría sobre el uso de HISTIGNORE en bash?

26

Estaba leyendo las páginas de manual para bash en el avión y me topé con la variable HISTIGNORE. Para probarlo, edité inmediatamente mi .profile para definir esta variable:

exportar HISTIGNORE = ls

¡Lo probé y esto es genial! Excluye comandos simples 'ls' de mi historia sin excluir comandos más interesantes con rutas largas, pero después de haber cosechado una gran cantidad de sabiduría de SU, estoy ansioso por saber qué otros comandos podrían recomendar los superusuarios u otras lecciones aprendidas.

¿Qué puede compartir sobre el uso de la variable HISTIGNORE en bash?

sabio
fuente

Respuestas:

29

Ignoro lssin comandos, bg, fg, exit, pwd, clear, mounty umount:

Si incluye esto en su HISTIGNOREcadena, puede suprimir cualquier cosa que desee agregando un espacio al frente del comando:

"[ \t]*" 

Este es mi HISTIGNORE:

HISTIGNORE="&:ls:[bf]g:exit:pwd:clear:mount:umount:[ \t]*"

He excluido algunas otras cosas que tengo allí que son comandos repetitivos que son exclusivos de mi servidor. Cualquier cosa que haga que sea simple es algo bueno para excluir.

Tengo otras cosas que olvidé agregar pero estoy a millas de distancia de mi caja de Linux, así que me estoy quedando sin memoria.

Stanley Williams
fuente
66
Si el valor de HISTCONTROLincluye "ignorespace" o "ignoreboth", los comandos que comienzan con un espacio se omiten del historial. Si el valor incluye "ignore dups" o "ignoreboth", es lo mismo que "&" en HISTIGNORE.
Pausado hasta nuevo aviso.
Para mí, también ha resultado útil para ignorar el historycomando en sí.
con-f-use
2
usando "[ \t]*"ignora el comando que comienza con un espacio o t. QuieresHISTIGNORE=$'&:ls:[bf]g:exit:pwd:clear:mount:umount:[ \t]*'
Gregory Pakosz
14

No guarde comandos triviales de uno y dos caracteres en la lista del historial:

HISTIGNORE='?:??'

Si la extglobopción está habilitada, también puede usar patrones extendidos, p. Ej.

HISTIGNORE='a*( )'
Eugene Yarmash
fuente