History .bashrc

Résolu
Bonsoir,
est-ce que quelqu'un pourrait m'expliquer simplement le contenu de mon fichier .bashrc ?
uniquement :

export HISTCONTROL=ignoreboth

export HISTCONTROL=ignoredups

export HISTCONTROL=erasedups

export HISTCONTROL=ignoreboth:erasedups

supprimer les doublons de mon historique par exemple avec
export HISTCONTROL=ignoredups n'a aucun effet...
donc je ne comprends pas les différences.
merci de vos précisions

5 réponses

  1. oh super!
    c'est corrigé et cette fois tout fonctionne!
    merci beaucoup
    résolu!
    1. Contributeur
      il faut séparer les éléments par : et non pas ,
      export HISTCONTROL=$HISTCONTROL${HISTCONTROL+:}ignoredups
      1. Bonjour à vous deux et merci!
        effectivement Mamiemando, mon bash indique ça et il vaudrait mieux que je prenne le condensé, c'est à dire ignoreboth et erasedups :
        export HISTCONTROL=ignoreboth:erasedups est déjà dans mon fichier .bashrc
        mais j'ai également :
        export HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups

        sauf que la valeur erasedups "devraient" prendre en considération toutes les lignes qui précèdent ma ligne courante, donc retirer les anciennes identiques?
        et c'est là que ça pose problème chez moi, parce que cette ligne, je l'ai ajoutée depuis longtemps et j'obtiens toujours des doublons depuis...et même encore actuellement, les commandes identiques que j'ajoute ne sont pas ignorées. Est-ce qu'il y a quelquechose que je n'ai pas compris?
        merci de votre aide
        1. Contributeur
          hello
          HISTCONTROL
          ...
          Si elle contient la valeur ignoredups, une ligne correspondant exactement à la ligne de commande précédente ne sera pas dupliquée dans l'historique.

          ce ne sont pas tous les doublons, mais les lignes identiques qui se suivent qui sont ignorées
          http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man1/bash.1.html
          1. Modérateur
            Ca peut dépendre de ta version de bash.

            man bash


            ... donne chez moi :

                   HISTCONTROL  
                          A  colon-separated  list  of values controlling  
                          how commands are saved on the history list.  If  
                          the  list of values includes ignorespace, lines  
                          which begin with  a  space  character  are  not  
                          saved   in   the  history  list.   A  value  of  
                          ignoredups causes lines matching  the  previous  
                          history  entry  to  not  be  saved.  A value of  
                          ignoreboth is  shorthand  for  ignorespace  and  
                          ignoredups.   A  value  of erasedups causes all  
                          previous lines matching the current line to  be  
                          removed  from the history list before that line  
                          is saved.  Any value not in the above  list  is  
                          ignored.   If HISTCONTROL is unset, or does not  
                          include a valid value, all lines  read  by  the  
                          shell  parser  are  saved  on the history list,  
                          subject to the value of HISTIGNORE.  The second  
                          and  subsequent  lines of a multi-line compound  
                          command are not tested, and are  added  to  the  
                          history regardless of the value of HISTCONTROL.


            Bonne chance