HISTTIMEFORMAT nie wyświetla poprawnej daty i godziny dla historii

14

Po wyeksportowaniu HISTTIMEFORMAT='%F %T'próbowałem wysłać zapytaniehistory

Ale wynik pokazuje, że wszystkie polecenia są wykonywane tego samego dnia.

Jak mogę sprawdzić rzeczywistą datę i godzinę faktycznego wykonania polecenia?

Özzesh
źródło
To tak, jakby zapytać, dlaczego nie masz odcinka teorii Wielkiego Wybuchu z ostatnich tygodni na magnetowidzie, który kupiłeś dziś rano ...
zadzwoń
3
@tink Nie zgadzam się, że to takie oczywiste ...
Bernhard

Odpowiedzi:

18

Jeśli ustawisz HISTTIMEFORMATbash, twoje nowe wpisy zostaną zapisane w pliku historii ze znacznikiem czasu, starsze polecenia, które nie mają znacznika czasu (te, które wcześniej ustawiłeś, HISTTIMEFORMATbędą wyświetlały ten sam znacznik daty i godziny (zakładam, że ten od pierwszego wpisu znalezionego z prawdziwym znacznikiem czasu).

Ten problem powinien rozwiązać się po zaktualizowaniu pełnej historii za kilka dni.

Możesz zajrzeć ~/.bash_historydo pierwszego wiersza ze znacznikiem daty i godziny. Są to wiersze rozpoczynające się od #następującego po (obecnie) 10-cyfrowego numeru.

Anthon
źródło
1

Myślę, że to jest funkcja. Po zmianie tego ustawienia widać, ~/.bash_historyże stare polecenie nie ma zapisanego znacznika czasu. Więc dla tych poleceń, po prostu przyjmie on aktualny czas.

Spróbuj wprowadzić exportpolecenie ~/.bashrci wykonać kilka poleceń. Zobaczysz, że w ~/.bash_historydodatkowym znaczniku czasu zostanie zapisany, który można następnie wyświetlić history. Dlatego w przypadku nowych poleceń powinno działać zgodnie z oczekiwaniami.

Zatem: W przeszłości niezgodny z poleceniami wykonywanymi w innym oknie terminala.

Bernhard
źródło