"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

Reply via email to