post-diluvian shells
Sep. 11th, 2006 04:41 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Is there any shell which maintains an at-all-sensible command history when you're working with several terminals each with half a dozen sessions in tabs? Intercalating the history from multiple sessions would probably be ideal for my current working style; appending the history from each session as a lump when the session closes would also be fine; but at the moment tcsh seems to maintain history for at most one session, randomly-selected, and this makes 'history' less than useful if I actually want to work out what I've been doing.
no subject
Date: 2006-09-11 03:52 pm (UTC)I don't actually use it myself though.
no subject
Date: 2006-09-11 03:52 pm (UTC)no subject
Date: 2006-09-11 04:00 pm (UTC)I'm actually considering having per-{STY,WINDOW} history files for this reason.
no subject
Date: 2006-09-11 04:08 pm (UTC)no subject
Date: 2006-09-12 08:49 am (UTC)no subject
Date: 2006-09-11 04:13 pm (UTC)zsh
Date: 2006-09-11 05:17 pm (UTC)APPEND_HISTORY or
INC_APPEND_HISTORY or even
SHARED_HISTORY
are friendly type options.
no subject
Date: 2006-09-11 10:10 pm (UTC)It does note, depressingly, that this only works "when the shells quit nicely one after another", so I suspect that the quite common behaviour of killing an X session resulting in a whole bunch of shells quitting almost simultaneously will just result in corrupted history files ...
Worth trying
as a quick fix, allowing for the fact that there are known failure modes?
no subject
Date: 2006-09-12 09:04 am (UTC)You wouldn't have thought it was that hard to write a little history management library that did the right thing. Might be trickier persuading shell maintainers to integrate it...
I think you'd need the following operations:
Any number of processes can use any of the operations in any order and it's still safe. It'd have to be safe over NFS too, which might be more entertaining.
There'd also be little command, again using this interface, to separately set the history size, for integration with applications that lacked a convenient way to configure it.