Subject: Re: shell expansions
To: Todd Whitesel <toddpw@best.com>
From: Andrew Brown <atatat@atatdot.net>
List: current-users
Date: 08/02/2000 01:24:55
>The issue is not whether expansion is done, but how the shell reacts when
>it fails. csh/tcsh just pretend the history reference had been escaped (the
>old sh globber does something similar for 'echo *' in an empty directory).
>bash is aborting loudly which is arguably un-useful.

tcsh will expand a ! *anywhere* unless it is escaped by a \.  i've
read this in the tcsh man page, but i can't find it at the moment.  it
might be this part that i'm thinking of:

       History substitutions begin with the character  `!'.  They
       may  begin  anywhere  in the input stream, but they do not
       nest.

tcsh (and csh) do not pretend that the history expansion had been
escaped.  they both give the error "Event not found".

sometimes i find this annoying, but mostly i'm used to it.  mostly it
bites me when i do something like:

   % cat foo bar splif >!there
   there: Event not found

-- 
|-----< "CODE WARRIOR" >-----|
codewarrior@daemon.org             * "ah!  i see you have the internet
twofsonet@graffiti.com (Andrew Brown)                that goes *ping*!"
andrew@crossbar.com       * "information is power -- share the wealth."