From: Mikael Magnusson <mikachu@gmail.com>
To: "Benjamin R. Haskell" <zsh@benizi.com>
Cc: zsh-users@zsh.org
Subject: Re: do not write certain commands to history file
Date: Wed, 25 Aug 2010 23:01:08 +0200 [thread overview]
Message-ID: <AANLkTineAz6oYU0jTMKRU7CP5nQ+WgDih+EhVhRBAqYr@mail.gmail.com> (raw)
In-Reply-To: <alpine.LNX.2.01.1008251647000.4535@hp>
On 25 August 2010 22:55, Benjamin R. Haskell <zsh@benizi.com> wrote:
> On Wed, 25 Aug 2010, Eric Smith wrote:
>
>> Thanks Mikael. If it is not in the buffer I do not care. But I cannot
>> work your example.
>>
>> Found this below in a config file somewhere and thought I could adapt
>> it. I want to exclude all commands that have "foobar" anywhere in
>> them, as the command or in the arg list. Quick hack did not work.
>> All lines are still written to the history file.
>>
>> zshaddhistory() {
>> local line=${1%%$'\n'}
>> local cmd=${line%% *}
>>
>> [[ ${#line} -ge 5
>> && ${cmd} != "rm"
>> && ${cmd} != (l|l[sal])
>> && ${cmd} != (c|cd)
>> && ${cmd} != (m|man)
>> && ${arg} != (*foobar*)
>> ]]
>> }
>
> Where are you setting $arg? Do you mean $line? or are you trying to
> match *foobar* in $argv?
>
> If the latter, you can't just match an array against a pattern (since
> there's no sensible default for whether it's conjunctive or disjunctive
> [any or all]). I'm not sure of the [[ ]] form offhand, but the (( ))
> form would be:
>
> [[ # what you already have ]] && (( ! $argv[(I)*foobar*] ))
What are you talking about? There's no $arg anywhere, and no arrays.
zshaddhistory() is passed the entire command line in a single
argument.
--
Mikael Magnusson
next prev parent reply other threads:[~2010-08-25 21:01 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-25 19:26 Eric Smith
2010-08-25 19:46 ` Mikael Magnusson
2010-08-25 20:36 ` Eric Smith
2010-08-25 20:41 ` Mikael Magnusson
2010-08-25 20:55 ` Benjamin R. Haskell
2010-08-25 21:01 ` Mikael Magnusson [this message]
2010-08-25 21:11 ` Benjamin R. Haskell
2010-08-25 21:01 ` do not write certain commands to history file - solved Eric Smith
2010-08-26 8:10 ` do not write certain commands to history file Sebastian Stark
2010-08-26 8:28 ` Sebastian Stark
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=AANLkTineAz6oYU0jTMKRU7CP5nQ+WgDih+EhVhRBAqYr@mail.gmail.com \
--to=mikachu@gmail.com \
--cc=zsh-users@zsh.org \
--cc=zsh@benizi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).