Seperate stdout and stderr in different shells
Sometimes you want to seperate stdout and stderr.
With the Bourne shell family (sh,bash,ksh,dash) you can use >stdout_file and 2>stderr_file to
do this. For example, if you do not want to see error output you can do:
find / -name ‘*bla*’ 2>/dev/null
With the C-shell family (csh, tcsh) this is a bit different.
You can redirect stdout with ‘>‘ and both stdout and stderr with ‘>&‘ but to seperate both channels you have to run the command in a subshell (using parentheses), for example if you still don’t want to see error output:
( find / -name '*bla*' > /dev/tty ) >& /dev/null
This workaround redirects stdout to your terminal /dev/tty and with ‘>&‘ both stdout and stderr are redirected to /dev/null. But because stdout was already redirected only stderr ends up in /dev/null.