HISTTIMEFORMAT n'affiche pas la date et l'heure correctes pour l'historique

14

Après l'exportation, HISTTIMEFORMAT='%F %T'j'ai essayé d'interrogerhistory

Mais le résultat montre que toutes les commandes sont exécutées le même jour.

Comment puis-je vérifier la date et l'heure réelles de l'exécution réelle de la commande?

Özzesh
la source
C'est comme demander pourquoi vous n'avez pas l'épisode de la théorie du Big Bang de la semaine dernière sur le magnétoscope que vous avez acheté ce matin ...
tink
3
@tink Je ne suis pas d'accord pour dire que c'est si évident ...
Bernhard

Réponses:

18

Si vous définissez le HISTTIMEFORMATin bash, vos nouvelles entrées sont stockées dans le fichier historique avec un horodatage, les anciennes commandes qui n'ont pas d'horodatage (celles que vous avez définies auparavant HISTTIMEFORMATafficheront un seul et même horodatage (je suppose que celui-ci de la première entrée trouvée avec un horodatage réel).

Ce problème devrait se résoudre après la mise à jour de votre historique complet dans quelques jours.

Vous pouvez regarder ~/.bash_historypour voir quelle est la première ligne qui a un horodatage. Ce sont des lignes commençant par un #suivi d'un nombre (actuellement) de 10 chiffres.

Anthon
la source
1

Je pense que c'est une fonctionnalité. Comme vous venez de modifier ce paramètre, vous pouvez voir ~/.bash_historyque l'ancienne commande n'a pas d'horodatage stocké. Donc, pour ces commandes, il supposera simplement l'heure actuelle.

Essayez de mettre la exportcommande ~/.bashrcet d'exécuter quelques commandes. Vous verrez que dans ~/.bash_historyun horodatage supplémentaire sera enregistré, qui peut ensuite être affiché par history. Donc, pour les nouvelles commandes, cela devrait fonctionner comme prévu.

Ainsi: Non rétrocompatible avec les commandes exécutées dans une autre fenêtre de terminal dans le passé.

Bernhard
la source