HISTTIMEFORMAT non mostra la data e l'ora corrette per la cronologia


14

Dopo l'esportazione HISTTIMEFORMAT='%F %T'ho provato a interrogarehistory

Ma il risultato mostra che tutti i comandi vengono eseguiti nello stesso giorno.

Come posso verificare la data e l'ora effettive dell'esecuzione effettiva del comando?


È come chiedere perché non hai avuto episodi della scorsa settimana della teoria del Big Bang sul videoregistratore che hai comprato stamattina ...
tink

3
@tink Non sono d'accordo che sia così ovvio ...
Bernhard,

Risposte:


18

Se si imposta HISTTIMEFORMATin bash, le nuove voci vengono memorizzate nel file di cronologia con un timestamp, i comandi più vecchi che non hanno un timestamp (quelli che non hai mai impostato HISTTIMEFORMATvisualizzeranno lo stesso timestamp data-ora (suppongo che quello dalla prima voce trovata con un vero timestamp).

Questo problema dovrebbe risolversi dopo che la cronologia completa è stata aggiornata in pochi giorni.

Puoi guardare ~/.bash_historyper vedere qual è la prima riga che ha un timbro data-ora. Quelle sono linee che iniziano con un #seguito da un numero (attualmente) di 10 cifre.


1

Penso che questa sia una caratteristica. Come hai appena modificato questa impostazione, puoi vedere ~/.bash_historyche il vecchio comando non ha un timestamp memorizzato. Quindi, per questi comandi, assumerà solo l'ora corrente.

Prova a inserire il exportcomando ~/.bashrced esegui alcuni comandi. Vedrai che in ~/.bash_historyun altro timestamp verrà salvato, che potrà quindi essere visualizzato da history. Quindi per i nuovi comandi dovrebbe funzionare come previsto.

Pertanto: non retrocompatibile con i comandi eseguiti in una finestra terminale diversa in passato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.