Wie kann ich den Befehlsverlauf finden, wenn ein Benutzer ein Leerzeichen vor dem Befehl verwendet hat?

13

Haben wir eine Möglichkeit, den Befehlsverlauf herauszufinden, wenn der Benutzer vor einem Befehl in der Bash Leerzeichen verwendet, da er im Verlauf nicht angezeigt wird, wenn der Benutzer Leerzeichen vor einem Befehl verwendet?

khanthegeek
quelle
Nur neugierig, warum willst du die Räume sehen?
Joshreesjones
Ich möchte nicht die Leerzeichen sehen Ich möchte den Befehl sehen, der vom Benutzer ausgeführt wird, wenn der Benutzer vor diesem Befehl Leerzeichen verwendet. Wenn Sie vor einem Befehl Leerzeichen setzen, wird dies normalerweise nicht im Shell-Verlauf aufgezeichnet.
Khanthegeek

Antworten:

14

Es gibt keine Möglichkeit, dies jetzt herauszufinden. Sie haben wahrscheinlich eine Einstellung, bei ~/.bashrcder absichtlich alle Befehle ausgeblendet werden, denen ein Leerzeichen aus dem Verlauf vorangestellt wird. Um dieses Verhalten in Zukunft zu ändern, können Sie es bearbeiten ~/.bashrc. Suchen Sie nach dieser Zeile

HISTCONTROL=ignoredups:ignorespace

und ändere es auf

HISTCONTROL=ignoredups
Sparhawk
quelle
Was wird mit den Ignorierten passieren?
Khanthegeek
ignoredupsist auch dort standardmäßig. Dadurch wird verhindert, dass aufeinanderfolgende doppelte Befehle mehrmals in den Verlauf geschrieben werden. Sie können es dort belassen, wenn Sie möchten, oder entfernen, wenn Sie dieses Verhalten nicht möchten.
Sparhawk
2
@ Rinzwind aufeinanderfolgende Duplikate. Für was Sie fragen, erasedupsist die richtige Option, IIRC.
muru
2
@muru oh ich habe mich nur gewundert. Ich würde reaaaaaaaaly über die 2. rm wissen wollen, wenn es jemals ausgeführt wurde ;-)
Rinzwind
2
@KasiyA "Ein Wert von ignoreboth ist eine Abkürzung für ignorespace und ignoredups." - fromman bash
muru