On 2020-08-14, Jason McIntyre <j...@kerhand.co.uk> wrote: > - i cannot work out what is with the \! examples. i know we try to make > entries work for both csh and sh style shells, but stuff like this > works without escaping: > > $ find . ! -type f
Going through the CVS and SCCS history, I see that the examples came with a rewrite of find(1) at Berkeley 30 years ago. csh's behavior that "for convenience, a `!' is passed unchanged when it is followed by a blank, tab, newline, `=' or `('" has been documented as such at least since the start of the CSRG repository in 1985. bash, whose history substitution was modeled on csh, also shares this behavior. I think it was never necessary to escape the '!' and the man page examples were written with an abundance of caution and a lack of understanding of csh's exact replacement mechanism. -- Christian "naddy" Weisgerber na...@mips.inka.de