Aquí podría ser tu PUBLICIDAD


¿Puedes evitar que un comando ingrese al historial de comandos de shell bash?

votos
48

¿Hay alguna forma de evitar que un comando se agregue al historial de comandos del shell bash?

Me gustaría poder evitar que se agreguen ciertos comandos peligrosos al historial, como rm -rf ~/some/dir, de modo que no pueda acceder a ellos presionando la flecha hacia arriba para llegar a los comandos anteriores. De esta forma, no sería posible repetir accidentalmente uno de estos comandos.

La razón por la que pregunto es que utilizo mucho la flecha hacia arriba para acceder a los comandos anteriores en el historial de shell, y con frecuencia me puse a presionar Enter en lo que pensé que era el comando correcto, solo para darme cuenta de que estaba a punto de hacer algo estúpido / molesto / peligroso. No me gusta la idea de rms etc flotando en mi historia de shell, ¡esperando que los pise!

(Nota: soy consciente de que uno puede establecer patrones en HISTIGNORE, pero lo que sería bueno es algo que uno puede aplicar por cada comando, lo que se convertiría en un buen hábito. A menos que haya una forma inteligente de lograrlo usando HISTIGNORE que me he perdido?)

Publicado el 12/03/2009 a las 21:43
fuente por usuario KarstenF
En otros idiomas...        العربية       

2 respuestas

votos
58

En las nuevas versiones de Bash, simplemente podría agregar un espacio al comienzo de su comando. :) Si no funciona de manera predeterminada, agregue [\ t] * a HISTIGNORE. (Como se menciona en los comentarios. Thx)

Respondida el 12/03/2009 a las 09:47
fuente por usuario Node


Aquí podría ser tu PUBLICIDAD


votos
39

Añadir ignorespace a su HISTCONTROL variable de entorno. Entonces no se introducirá ninguna línea de comandos que se inicia con un espacio en su historia.

Respondida el 21/04/2011 a las 10:48
fuente por usuario T-Hawk