Pouvez-vous partager la sagesse sur l'utilisation de HISTIGNORE dans bash?

26

Je lisais les pages de manuel de bash dans l'avion et je suis tombé sur la variable HISTIGNORE. Pour le tester, j'ai immédiatement édité mon .profile pour définir cette variable:

export HISTIGNORE = ls

Je l'ai testé et c'est super! Il exclut les commandes simples `` ls '' de mon histoire sans exclure les commandes plus intéressantes avec de longs chemins, mais ayant récemment récolté beaucoup de sagesse de SU, je suis impatient de savoir quelles autres commandes les super-utilisateurs pourraient recommander ou d'autres leçons apprises.

Que pouvez-vous partager sur l'utilisation de la variable HISTIGNORE dans bash?

sauge
la source

Réponses:

29

J'ignore lssans commandes, bg, fg, exit, pwd, clear, mountet umount:

Si vous incluez ceci dans votre HISTIGNOREchaîne, vous pouvez supprimer tout ce que vous souhaitez en ajoutant un espace à l'avant de la commande:

"[ \t]*" 

C'est mon HISTIGNORE:

HISTIGNORE="&:ls:[bf]g:exit:pwd:clear:mount:umount:[ \t]*"

J'ai exclu d'autres éléments que j'ai ici qui sont des commandes répétitives qui sont uniques à mon serveur. Tout ce que vous faites qui est simple est une bonne chose à exclure.

J'ai d'autres choses que j'ai oublié d'ajouter, mais je suis à des kilomètres de ma boîte Linux, donc je manque de mémoire.

Stanley Williams
la source
6
Si la valeur de HISTCONTROLinclut "ignorespace" ou "ignoreboth", les commandes commençant par un espace sont omises de l'historique. Si la valeur inclut "ignorer les doublons" ou "ignorer les deux", c'est la même chose que "&" dans HISTIGNORE.
pause jusqu'à nouvel ordre.
Pour moi, il s'est également avéré utile d'historiser la historycommande elle-même.
con-f-use
2
utilisant "[ \t]*"ignore la commande commençant par un espace ou t. Vous voulezHISTIGNORE=$'&:ls:[bf]g:exit:pwd:clear:mount:umount:[ \t]*'
Gregory Pakosz
14

N'enregistrez pas de commandes triviales à un ou deux caractères dans la liste d'historique:

HISTIGNORE='?:??'

Si l' extgloboption est activée, vous pouvez également utiliser des modèles étendus, par exemple

HISTIGNORE='a*( )'
Eugene Yarmash
la source