"Jonathan Matthews" <[EMAIL PROTECTED]> writes:
> Ok - can someone explain the following:
>
> [EMAIL PROTECTED]:/tmp$ ls
> [EMAIL PROTECTED]:/tmp$ rm abc
> rm: cannot remove `abc': No such file or directory
> [EMAIL PROTECTED]:/tmp$ rm abc 2>err
> [EMAIL PROTECTED]:/tmp$ cat err
> rm: cannot remove `abc': No such file or directory
> [EMAIL PROTECTED]:/tmp$ rm err
> [EMAIL PROTECTED]:/tmp$ rm abc 2>&1 > err
> rm: cannot remove `abc': No such file or directory
> [EMAIL PROTECTED]:/tmp$ rm abc 2>&1 > /dev/null
> rm: cannot remove `abc': No such file or directory
>
> Why can't I silently discard the output of rm?
> Am I missing something subtle?
> Something obvious?
> A vital brain part?
I think on your last couple of tries there you're missing the
precendence of the redirection. You're requesting that standard error
be redirected to standard output *before* you've told the shell to
redirect standard output to /dev/null. So instead of
rm abc 2>&1 > /dev/null
you need to do
rm abc > /dev/null 2>&1
That should work.
Gary