I saw this code in the example in shell scripting book.
case 1.
grep myname /etc/passwd > /dev/null means grep myname in file /etc/passwd but no output to screen.
case 2.
grep myname /etc/passwd >&2 means grep myname in file /etc/passwd and output to std err.
case 3.
grep myname /etc/passwd >& /dev/null
What is the meaning of "&" right after redirection > in this case?
CodePudding user response:
In bash, it means both STDOUT and STDERR.
It's just like:
cmd >& file
is equivalent to
cmd >file 2>&1
but the former is bash and csh only
You have also a special bash syntax to pipe both STDERR and STDOUT:
<STDIN> |& <PROCESS STDOUT|STDERR>
