Können Sie die Weisheit über die Verwendung von HISTIGNORE in bash teilen?

26

Ich habe die Manpages für Bash im Flugzeug gelesen und bin über die Variable HISTIGNORE gestolpert. Zum Testen habe ich sofort mein .profile bearbeitet, um diese Variable zu definieren:

export HISTIGNORE = ls

Ich habe es ausprobiert und das ist großartig! Es schließt einfache 'ls'-Befehle aus meiner Geschichte aus, ohne interessantere Befehle mit langen Pfaden auszuschließen, aber nachdem ich kürzlich eine Menge Weisheit aus SU gesammelt habe, bin ich gespannt, welche anderen Befehle Superuser empfehlen oder welche anderen Lehren daraus gezogen werden könnten.

Was können Sie über die Verwendung der Variablen HISTIGNORE in Bash teilen?

Salbei
quelle

Antworten:

29

Ich ignoriere lsohne Befehle, bg, fg, exit, pwd, clear, mountund umount:

Wenn Sie dies in Ihre HISTIGNOREZeichenfolge aufnehmen, können Sie alles unterdrücken, indem Sie vor dem Befehl ein Leerzeichen einfügen:

"[ \t]*" 

Das ist mein HISTIGNORE:

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

Ich habe einige andere Dinge, die ich dort habe, ausgeschlossen, die sich wiederholende Befehle sind, die für meinen Server einzigartig sind. Alles, was Sie so einfach tun, ist gut, es auszuschließen.

Ich habe andere Dinge, die ich vergessen habe hinzuzufügen, aber ich bin meilenweit von meiner Linux-Box entfernt, so dass mir der Speicher ausgeht.

Stanley Williams
quelle
6
Wenn der Wert von HISTCONTROL"ignorespace" oder "ignoreboth" enthält, werden Befehle, die mit einem Leerzeichen beginnen, aus der Geschichte weggelassen. Wenn der Wert "Dups ignorieren" oder "beide ignorieren" enthält, ist er mit "&" in identisch HISTIGNORE.
Bis auf weiteres angehalten.
Für mich hat es sich auch als nützlich erwiesen, den historyBefehl selbst zu ignorieren .
con-f-use
1
using "[ \t]*"ignoriert den Befehl, der mit einem Leerzeichen oder beginnt t. Sie wollenHISTIGNORE=$'&:ls:[bf]g:exit:pwd:clear:mount:umount:[ \t]*'
Gregory Pakosz
13

Speichern Sie keine einfachen Befehle mit ein oder zwei Zeichen in der Verlaufsliste:

HISTIGNORE='?:??'

Wenn die extglobOption aktiviert ist, können Sie auch erweiterte Muster verwenden, z

HISTIGNORE='a*( )'
Eugene Yarmash
quelle