Doublons dans l'historique de commandes

Lorsque l'on travaille sous Linux, on se retrouve souvent à taper un bon nombre de fois les mêmes commandes. Du coup l'historique des commandes (accessible notamment via les flèches) n'est rapidement plus très praticable tant il est redondant.

Pour régler ce genre de problème, on peut utiliser la variable shell HISTCONTROL. Celle-ci peut prendre différentes valeurs :

  • ignoredups :
    lorsqu'une commande est identique à la précédente n'est pas ajoutée à l'historique, ce qui évite de se retrouver avec une dizaine de uptime à la file quand on surveille la charge du serveur.
  • ignorespace :
    lorsqu'une commande commence par un espace, elle n'est pas ajoutée à l'historique, ainsi on peut choisir quelle commande ajouter ou non.
  • ignoreboth :
    cumule les comportements des deux valeurs précédentes.
  • erasedups :
    lorsqu'une commande est tapée, toutes les commandes identiques présentes dans l'historique sont supprimées. Ceci est particulièrement intéressant pour éviter d'avoir son historique parasité par un grand nombre de ls, ps, cd .. et autres commandes courantes.
  • enfin pour revenir au comportement classique, il suffit d'affecter une chaine vide.

Cette valeur peut être affectée de plusieurs manières :

  • pour la session courante uniquement via la commande :
    export HISTCONTROL=valeur
  • pour toutes les sessions, en ajoutant HISTCONTROL=valeur dans votre fichier bashrc
  • pour tous les utilisateurs (uniquement si vous êtes administrateur de la machine, bien entendu) en ajoutant HISTCONTROL=valeur dans le fichier bashrc global trouvable dans /etc.

Soumettre un commentaire

La soumission de commentaire fonctionne via un envoi de mail à une adresse dédiée, pour plus de précisions sur les raisons de ce fonctionnement atypique vous pouvez consulter cet article.

0 commentaires