Fügen Sie vor dem Befehl ein Leerzeichen ein. Befehle, die mit einem Leerzeichen beginnen, werden nicht in den Verlauf aufgenommen:
root@ubuntu-1010-server-01:~# echo foo
foo
root@ubuntu-1010-server-01:~# history 1 echo foo2 history
root@ubuntu-1010-server-01:~# echo bar
bar
root@ubuntu-1010-server-01:~# history 1 echo foo2 history
Mann Bash
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.
Besser als meine Antwort von $ HISTIGNORE gewesen wäre. +1
Matt Simmons
1
lerne jeden Tag etwas Neues.
David Rickman
1
Normalerweise setze ich dies /etc/profileals HISTCONTROL=ignorebothund exportiere die Variable HISTCONTROL.
ewwhite
Das scheint bei mir nicht zu funktionieren? Es scheint in die Geschichte zu schreiben, schließt aber nur den Raum davor ein. 486 echo test 487 history 488 echo testspace 489 history
Peter
Ignoriere diesen letzten Kommentar, es sieht so aus, als ob es in Ubuntu funktioniert, aber nicht in Debian / anderen Betriebssystemen.
Peter
3
Erwähnenswert ist auch der Trick, die aktuelle Anmeldesitzung anstelle des normalen Beendens zu beenden (wodurch keine Chance zum Speichern des Verlaufs besteht). Dies ist besonders nützlich, wenn Sie sich bei einer freigegebenen Klimaanlage anmelden, anstatt sich daran zu erinnern, ein Leerzeichen als Präfix zu verwenden. Sie können die Sitzung einfach beenden, indem Sie sie beenden. Der einfachste Weg zu töten ist, indem Sie diesen Befehl ausführen:
kill -90
Pid 0 bezieht sich immer auf die PID des aktuellen Prozesses, sodass Sie im Grunde ein tödliches Kill-Signal an sich selbst senden. Ich verwende dies auch oft, anstatt normal zu beenden, da ich beim normalen Beenden häufig Sitzungen unterbrochen habe, wahrscheinlich aufgrund einer falschen Konfiguration.
Antworten:
Fügen Sie vor dem Befehl ein Leerzeichen ein. Befehle, die mit einem Leerzeichen beginnen, werden nicht in den Verlauf aufgenommen:
Mann Bash
quelle
/etc/profile
alsHISTCONTROL=ignoreboth
und exportiere die Variable HISTCONTROL.Erwähnenswert ist auch der Trick, die aktuelle Anmeldesitzung anstelle des normalen Beendens zu beenden (wodurch keine Chance zum Speichern des Verlaufs besteht). Dies ist besonders nützlich, wenn Sie sich bei einer freigegebenen Klimaanlage anmelden, anstatt sich daran zu erinnern, ein Leerzeichen als Präfix zu verwenden. Sie können die Sitzung einfach beenden, indem Sie sie beenden. Der einfachste Weg zu töten ist, indem Sie diesen Befehl ausführen:
Pid 0 bezieht sich immer auf die PID des aktuellen Prozesses, sodass Sie im Grunde ein tödliches Kill-Signal an sich selbst senden. Ich verwende dies auch oft, anstatt normal zu beenden, da ich beim normalen Beenden häufig Sitzungen unterbrochen habe, wahrscheinlich aufgrund einer falschen Konfiguration.
quelle
Eine andere Lösung besteht darin, die Verlaufsdatei auf ein Verzeichnis festzulegen:
quelle