GNU/Linux >> Tutoriels Linux >  >> Linux

Exécuter la commande sans la conserver dans l'historique

Commencez votre commande par un espace et elle ne sera pas incluse dans l'historique.

Sachez que cela nécessite la variable d'environnement $HISTCONTROL à définir.

  • Vérifiez que la commande suivante renvoie ignorespace ouignoreboth

    #> echo $HISTCONTROL
    
  • Pour ajouter la variable d'environnement si elle est manquante, la ligne suivante peut être ajoutée au profil bash. Par exemple. %HOME/.bashrc

    export HISTCONTROL=ignorespace
    

Après avoir réapprovisionné le profil, les commandes avec préfixe d'espace ne seront pas écrites dans $HISTFILE


Dans n'importe quelle session Bash donnée, définissez le fichier d'historique sur /dev/null en tapant :

export HISTFILE=/dev/null

Notez que, comme indiqué dans les commentaires, cela n'écrira aucune commande de cette session dans l'historique !

Ne gâchez pas le travail acharné de votre administrateur système, s'il vous plaît ;)

La solution de Doodad est plus élégante. Désélectionnez simplement la variable :unset HISTFILE (merci !)


echo "discreet";history -d $(history 1)

Linux
  1. Mettre la commande d'historique sur la ligne de commande sans l'exécuter ?

  2. Exécuter une commande où un fichier est trouvé ?

  3. Exécuter une commande spécifique dans un répertoire donné sans y accéder ?

  4. `$?` ? Est-ce une variable ?

  5. Commande d'historique Linux

Commande d'historique sous Linux (historique de bash)

Commande d'historique sous Linux avec des exemples

Comment afficher l'historique de Bash sans numéros de ligne

Commande d'historique avec exemples

Comment exécuter une commande dans un script shell ?

Comment exécuter à distance la commande ssh une commande sudo sans mot de passe