Désactiver temporairement l’enregistrement des commandes sous Linux

Sous Linux, les commandes tapées au sein du prompt sont systématiquement enregistrées. Un lancement de la commande history permet d’en avoir un bon aperçu. Il existe un mécanisme qui permet de passer à côté de cet enregistrement systématique.

prompt photo

L’enregistrement des commandes shell est très pratique. Ce mécanisme permet, par exemple, d’utiliser la flèche du haut de son clavier pour remonter dans cet historique pour relancer rapidement une commande tapée récemment.

OK, mais quelle pourrait être la manière la plus simple de désactiver cet enregistrement systématique ? Sans pensée malveillante, cela peut être pratique lors de la préparation d’une image virtuelle qui sera dupliquée puis distribuée lors d’un TP.

La variable d’environnement HISTCONTROL peut nous venir en aide.

Si on lui définit la valeur ignorespace, les commandes commençant par des caractères d’espacement ne seront pas enregistrées. La valeur ignoreboth fonctionne aussi et aura en plus pour effet de ne pas enregistrer les doublons.

export HISTCONTROL=ignoreboth

Le mot clé export augmente la portée de cette variable ce qui rend cet effet permanent pour la durée de l’ouverture de la console.

Impec’ ! Mais alors, comment faire, si on ne veut pas non plus que cette commande apparaisse dans l’historique ?

export HISTCONTROL=ignoreboth; history -d $((HISTCMD-1))

La seconde partie de la commande, à savoir ; history -d $((HISTCMD-1)), va permettre de supprimer la dernière entrée.

On est bon ! Toutes les prochaines commandes commençant par un espace ne seront pas enregistrées 😀


Sources :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.