web-dev-qa-db-fra.com

Pourquoi Bash ne stocke pas les commandes qui commencent avec des espaces?

Si j'effectue une séquence de commandes comme:

$ ls
$ grep abc file.txt

puis utilisez la flèche vers le haut pour obtenir le précédent, le terminal affiche la dernière cmd (qui est le grep ici)

Mais si je fais quelque chose comme ça:

$ ls
$   grep abc file.txt

grep est précédé par des espaces, appuyer sur OND ls, pas grep.

Pourquoi est-ce?

52
sandyp
echo $HISTCONTROL
ignoreboth

homme bash:

Historique

Une liste de valeurs séparées par deux points de contrôle de la manière dont les commandes sont enregistrées sur la liste d'historique. Si la liste des valeurs comprend ignorespace, des lignes qui commencent par un caractère d'espace ne sont pas enregistrées dans la liste d'historique. Une valeur de ignoredups provoque l'enregistrement de la saisie de l'historique précédente. Une valeur de ignoreboth est sténographique pour ignorespace et ignoredups.

57
Hauke Laging