GNU/Linux >> Tutoriels Linux >  >> Linux

Pourquoi Bash ne stocke-t-il pas les commandes commençant par des espaces ?

Si j'exécute une séquence de commandes comme :

$ ls
$   grep abc file.txt

puis utilisez la touche fléchée vers le haut pour obtenir le précédent, le terminal affichera le dernier cmd (qui est le grep ici)

Mais si je fais quelque chose comme ça :

$ ls
$   grep abc file.txt

grep est précédé d'espaces, appuyer vers le haut donne ls , pas grep .

Pourquoi est-ce ?

Réponse acceptée :

echo $HISTCONTROL
ignoreboth

coup d'homme :

CONTRÔLEHIST

Une liste de valeurs séparées par deux-points contrôlant la manière dont les commandes sont enregistrées dans la liste d'historique. Si la liste de valeurs inclut ignorespace , les lignes commençant par un espace ne sont pas enregistrées dans la liste d'historique. Une valeur de ignoredups entraîne la non-enregistrement des lignes correspondant à l'entrée d'historique précédente. Une valeur de ignoreboth est un raccourci pour ignorespace et ignoredups .


Linux
  1. Pourquoi la substitution de processus Bash ne fonctionne-t-elle pas avec certaines commandes ?

  2. Comment Greper les lignes qui ne commencent pas par "#" ou ";" ?

  3. Comment générer un fichier et ignorer les lignes commençant par "?" ?

  4. 15 commandes intégrées utiles de Bash Shell (avec exemples)

  5. Comment puis-je utiliser des commandes aliasées avec xargs ?

Commandes couplées avec des opérateurs de contrôle dans Bash

Qu'est-ce que Git Bash ? Travailler avec les commandes Git Bash

Réussissez à sauver la journée avec les commandes d'historique de Bash

Remplacer les espaces par des traits de soulignement via BASH

Pourquoi poll n'est pas remplacé par epoll ?

pourquoi supprimer l'historique bash n'est pas suffisant?