GNU/Linux >> Tutoriels Linux >  >> Linux

Exécuter la commande dans bash sans enregistrer dans l'historique

Solution 1 :

Ajouter un espace avant la commande. les commandes commençant par un espace ne pas mettre dans l'historique :

[email protected]:~# echo foo
foo
[email protected]:~# history 
    1  echo foo
    2  history 
[email protected]:~#  echo bar
bar
[email protected]:~# history 
    1  echo foo
    2  history 

coup d'homme

  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 cur‐
         rent 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.

Solution 2 :

Il convient également de mentionner l'astuce pour tuer la session de connexion en cours au lieu de la sortie normale (ne donnant donc pas la possibilité de sauvegarder l'historique). Ceci est particulièrement utile lorsque vous vous connectez à un a/c partagé, au lieu de vous rappeler de préfixer avec un espace, vous pouvez simplement terminer la session en la tuant. La façon la plus simple de tuer est d'exécuter cette commande :

kill -9 0

Pid 0 fait toujours référence au PID du processus actuel, vous vous envoyez donc essentiellement un signal d'arrêt mortel à lui-même. J'utilise aussi souvent cela au lieu de quitter normalement, car j'ai souvent suspendu des sessions lors d'une sortie normale, probablement en raison d'une mauvaise configuration.


Linux
  1. Astuces Bash pour tous les jours en ligne de commande

  2. Exécuter une commande sans me faire attendre ?

  3. Comprendre le point d'exclamation (!) dans Bash ?

  4. Historique bash sans numéro de ligne

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

Commande d'attente bash

Comment exécuter la commande Sudo sans mot de passe

Commande d'historique sous Linux (historique de bash)

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

La liste des raccourcis clavier Bash utiles

Comment activer l'horodatage dans l'historique de Bash sous Linux