126 votes

s'assurer que les commandes n'apparaissent pas dans l'historique bash

Parfois, lorsque j'exécute des commandes telles que rm -rf XYZ , je ne veux pas que cela soit enregistré dans l'historique bash, car il est possible que je réexécute accidentellement la même commande de reverse-i-search . Y a-t-il un bon moyen d'empêcher que cela se produise?

63voto

rhdoenges Points 266

Dans votre .bashrc / .bash_profile / où vous voulez, inscrivez export HISTIGNORE=' *' . Ensuite, commencez simplement une commande que vous souhaitez ignorer avec un espace.

 $ ls  # goes in history
$  ls # does not
 

25voto

bmatheny Points 1483

Encore mieux utiliser HISTIGNORE . Cela vous permet de spécifier un ensemble de modèles à ignorer (tels que rm ). Mieux (je pense) que de simplement piocher toute l'histoire à /dev/null

11voto

Corey Henderson Points 3487

Vous pouvez faire l'une des deux choses suivantes:

 export HISTFILE=/dev/null
 

Ou bien, commencez la commande par un espace.

4voto

aledra Points 9

Ou

 unset HISTFILE
 

(similaire à la réponse précédente seulement plus courte: export HISTFILE = / dev / null)

2voto

Jakub M. Points 6126

Au démarrage du shell, je nettoie explicitement l’historique à partir des entrées que je ne souhaite pas voir apparaître. Par exemple, je ne veux pas de rm -rf dans l’historique (c’est un traumatisme après la suppression d’un répertoire rempli de résultats traités du jour au lendemain, avec un seul Arrow-Up Enter :)

Je mets l'extrait suivant dans mon fichier d'initialisation (fonctionne avec .zshrc , devrait également fonctionner avec .bashrc )

 # ...
HISTFILE=~/.zshhistory
# ...

# remove dangerous entries from the shell history
temp_histfile="/tmp/$$.temp_histfile"
grep -v -P '^rm .*-rf' $HISTFILE > $temp_histfile
mv $temp_histfile $HISTFILE
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X