bug-bash
[Top][All Lists]
Advanced

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

Re: How to enable infinite command history


From: Ivan Yosifov
Subject: Re: How to enable infinite command history
Date: Tue, 31 Jan 2012 19:08:14 +0200

On Mon, 2012-01-30 at 20:16 +0200, Pierre Gaston wrote:
> On Mon, Jan 30, 2012 at 8:01 PM, Ivan Yosifov <iyosifov@gmail.com> wrote:
> > Hi everyone,
> >
> > I got an admittedly basic question but I'm really at my wits' end with
> > this.
> >
> > How do I enable infinite command history ?
> >
> > One simple suggestion I've seen online is to set HISTSIZE and
> > HISTFILESIZE to a large number. This is not what I need, I want
> > genuinely unconstrained history file growth.
> >
> > Another idea I've seen is to unset HISTSIZE and HISTFILESIZE. This
> > doesn't seem to work, the history file is being cropped to the default
> > of 500 lines.
> >
> > I'm probably missing something obvious but any help is appreciated. I'm
> > running Bash 4.1.5 (Debian Squeeze).
> 
> I don't think there is a way.
> But do you plan to use bash normally?
> Setting HISTFILESIZE to 2147483647 gives you 68 years of history at
> one command per seconds
> (I hope I got my math right)
> with say 5 chars per commands it's something like 5GB of history.

On Mon, 2012-01-30 at 20:16 +0200, Pierre Gaston wrote:
On Mon, Jan 30, 2012 at 8:01 PM, Ivan Yosifov <iyosifov@gmail.com>
wrote:
> > Hi everyone,
> >
> > I got an admittedly basic question but I'm really at my wits' end
with
> > this.
> >
> > How do I enable infinite command history ?
> >
> > One simple suggestion I've seen online is to set HISTSIZE and
> > HISTFILESIZE to a large number. This is not what I need, I want
> > genuinely unconstrained history file growth.
> >
> > Another idea I've seen is to unset HISTSIZE and HISTFILESIZE. This
> > doesn't seem to work, the history file is being cropped to the
default
> > of 500 lines.
> >
> > I'm probably missing something obvious but any help is appreciated.
I'm
> > running Bash 4.1.5 (Debian Squeeze).
> 
> I don't think there is a way.
> But do you plan to use bash normally?
> Setting HISTFILESIZE to 2147483647 gives you 68 years of history at
> one command per seconds
> (I hope I got my math right)
> with say 5 chars per commands it's something like 5GB of history.
> 
Thank you for stating it clearly. I suppose I'll either use the above
number or mess a bit with the source. 

My actual use case for this is as follows: 

Sometimes I run some useful and non-trivial command that I don't want to
bother writing down somewhere separate but I want to be able to find
later by grepping the history file. For example, more than a year ago I
used a pipeline to convert a .flac music file to .mp3. I still remember
the the name of the song involved so I could easily find the command
with grep (if the history file still had it, of course). 

On the other hand, I do a lot of work from the shell anyway. So the
history file gets flooded with trivia like make invocations, cd <some
autocompleted name that could be 200 characters long>, etc, etc. 

In the end, I had set HISTFILESIZE to some supposedly large number and a
year later I couldn't find the flac->mp3 command any more, so I wanted
the history rotation turned off entirely. I got hundreds of GB of free
hdd space so I absolutely don't care about the size of the history file.
Maybe my limit wasn't large enough (wasn't 2147483647 though was still
"big") or maybe I messed up something else and it didn't work. 





reply via email to

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