HISTTIMEFORMAT zeigt das Datum und die Uhrzeit für den Verlauf nicht korrekt an

13

Nach dem Export habe HISTTIMEFORMAT='%F %T'ich versucht abzufragenhistory

Das Ergebnis zeigt jedoch, dass alle Befehle am selben Tag ausgeführt werden.

Wie kann ich das aktuelle Datum und die aktuelle Uhrzeit der Befehlsausführung überprüfen?

Özzesh
quelle
Das ist so, als würdest du fragen, warum du nicht die letzte Episode der Urknalltheorie auf dem Videorecorder hast, den du heute Morgen gekauft hast ...
tink
3
@ Tink Ich stimme nicht zu, dass es so offensichtlich ist ...
Bernhard

Antworten:

18

Wenn Sie die HISTTIMEFORMATIn-Bash-Option einstellen, werden Ihre neuen Einträge mit einem Zeitstempel in der Verlaufsdatei gespeichert. Ältere Befehle, die keinen Zeitstempel haben (die, die Sie zuvor festgelegt HISTTIMEFORMAThaben, zeigen ein und denselben Datums- / Zeitstempel an (ich nehme den an) vom ersten Eintrag mit einem echten Zeitstempel gefunden).

Dieses Problem sollte sich von selbst lösen, nachdem Ihr vollständiger Verlauf in ein paar Tagen aktualisiert wurde.

Sie können nachsehen ~/.bash_history, welche Zeile als erste einen Datums- / Zeitstempel aufweist. Dies sind Zeilen, die mit einer #gefolgt von einer (derzeit) 10-stelligen Zahl beginnen.

Anthon
quelle
1

Ich denke das ist ein Feature. Wie Sie gerade diese Einstellung geändert haben, können Sie von sehen~/.bash_history dass im alten Befehl kein Zeitstempel gespeichert ist. Für diese Befehle wird also nur die aktuelle Zeit angenommen.

Versuchen Sie, den exportBefehl ~/.bashrceinzugeben und einige Befehle auszuführen. Sie werden sehen, dass in ~/.bash_historyeinem zusätzlichen Zeitstempel gespeichert wird, der dann von angezeigt werden kann history. Für neue Befehle sollte es also wie erwartet funktionieren.

Also: Nicht abwärtskompatibel mit Befehlen, die in der Vergangenheit in einem anderen Terminalfenster ausgeführt wurden.

Bernhard
quelle