Zsh Mailing List Archive
Messages sorted by:
Re: Saving commands from a session
- X-seq: zsh-users 19758
- From: Vin Shelton <acs@xxxxxxxxxxxxxxxxxxxx>
- To: Mikael Magnusson <mikachu@xxxxxxxxx>
- Subject: Re: Saving commands from a session
- Date: Tue, 20 Jan 2015 14:33:35 -0500
- Cc: "zsh-users@xxxxxxx" <zsh-users@xxxxxxx>
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=gvQ5nEEYacYk9KF40KONQVEpnKoem+D/LIy/VlJMnqk=; b=RQOx4Lfchb/tT5nFI7iM1JwQmKQapGAlypWiPP+KBJv5ElKMmXtqgWGtuNz6heShPg oF5IB757POcFvlnQnJyiGGJIAMejSVRCjskAVGpx11ueGOKOhw44jfyGq3ZEDqkwNSOk Iy7D7oiR8PUf3aKEukuIpzm5ueiiYZzYxFrW3lbjIK7oVagjQHiv9pXFCu4Jlts9uxWf QWY1gqZCZiBSR6V8m6RTc/0cQeBQzvxRz++c1KYDL0lSkFkDPuQSVeN6Cs2fk3qcekO5 nME5QWXz0zxs67vU2sUxNVEtJq5cBMiLhpCJarABn8ZeGmilJ1lqNF0TBHLs2rHvY5Eb ZQcg==
- In-reply-to: <CAHYJk3RLO_bOg4MOfRWNYffxuSiM6=d4MBQP4eEJLzMcTrAAJA@mail.gmail.com>
- List-help: <mailto:email@example.com>
- List-id: Zsh Users List <zsh-users.zsh.org>
- List-post: <mailto:firstname.lastname@example.org>
- Mailing-list: contact zsh-users-help@xxxxxxx; run by ezmlm
- References: <CACeGjnUbh2h0o2Y3Hg=_OGO79zPAx0kms=UmLCbJ4RZabXgHGA@mail.gmail.com> <CAHYJk3RLO_bOg4MOfRWNYffxuSiM6=d4MBQP4eEJLzMcTrAAJA@mail.gmail.com>
- Sender: ethersoft@xxxxxxxxx
On Mon, Jan 12, 2015 at 12:19 PM, Mikael Magnusson <mikachu@xxxxxxxxx> wrote:
> On Mon, Jan 12, 2015 at 6:01 PM, Vin Shelton <acs@xxxxxxxxxxxxxxxxxxxx> wrote:
>> In addition to saving commands in .zhistory, I like to save commands
>> by session, so I can save and later search the sequence of commands I
>> executed at a particular time. In order to do this, in .zlogout I
>> compared all commands in history against the date and time of the
>> first command saved:
>> # Get the date and time of the first command in the shell history.
>> fc -lin -$HISTCMD -$((HISTCMD-1)) | read d t cmd
>> # Ignore all commands that have the same date and time.
>> # They were read in when the shell started.
>> fc -lin -$HISTCMD | grep -v "^$d $t" >> $outfile
>> I was never terribly impressed by the elegance of this solution, but
>> it worked, more or less (I believe it could drop the first command or
>> two I entered if they happened to have the same date and time as the
>> start of the shell).
>> However, I recently started using
>> setopt EXTENDED_HISTORY
>> and this has the effect of keeping the original date and time the
>> command was executed in .zhistory, so when the historical commands are
>> read into the shell, they no longer all have the same date and time.
>> Is there a more elegant way to save only those commands that have been
>> executed in this instance of the shell?
> Maybe you want to write out each entry incrementally from
> zshaddhistory() instead? Zsh does track which history entries are
> "local" and which are imported from history, but I don't believe you
> can directly access this information.
Thanks, Mikael. I followed your advice and am now using zshaddhistory().
Messages sorted by: