bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: history file missing timestamp when HISTFILESIZE reached


From: Rob Foehl
Subject: Re: history file missing timestamp when HISTFILESIZE reached
Date: Mon, 20 Mar 2023 18:27:53 -0400 (EDT)

On Sun, 19 Mar 2023, Grisha Levit wrote:

When HISTTIMEFORMAT is set and history file truncation is performed,
the first line of the history file (i.e. the timestamp of the first
entry) seems to always be missing

/tmp/hist
HISTTIMEFORMAT= HISTFILESIZE=3 HISTFILE=/tmp/hist bash --norc -in <<<$'1\n2\n3'

$ cat /tmp/hist
1
#1679274410
2
#1679274410
3


For whatever it's worth, I'd noticed history truncation to roughly HISTSIZE/2 not long after first enabling HISTTIMEFORMAT, and have used this mnemonic since:

HISTTIMEFORMAT='%Y-%m-%d %H:%M:%S  '
HISTSIZE=$(( 10000 * 2 ))
HISTFILESIZE=$HISTSIZE

Losing the first timestamp line was a frequent occurrence with unintended truncation due to a long-standing Fedora default [1], and my guess as to why was something like:

- load history without HISTTIMEFORMAT set
- append a single command line, with no timestamp
- write last (default) 500 lines of "history" back to disk

Though I never tried to confirm this, being primarily concerned with the data loss. Also never tried with an odd number for HISTSIZE.

-Rob

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1871744



reply via email to

[Prev in Thread] Current Thread [Next in Thread]