How to redirect both STDOUT and STDERROR to /dev/null
First, let me try without "2>&1"
a)
This command redirect output of command "git --version" to /dev/null
That is redirect only STDOUT to /dev/null
$git --version >/dev/null
$
b)
This command does not have output to redirect to /dev/null. Because command
"gitxxx --version" failed with Error "gitxxx: command not found". We didn't
tell shell to redirect Error to /dev/null, So it printed error in STDOUT(1).
$gitxxx --version >/dev/null
gitxxx: command not found
$
c)
We can tell shell to redirect Error to STDOUT(1).
Here 2 means STDERROR and 1 is STDOUT.
2>&1 Means redirect STDERROR to STDOUT file descriptor.
So below command will redirect both STDOUT and STDERROR to /dev/null
$git --version >/dev/null 2>&1
$gitxxx --version >/dev/null 2>&1
First, let me try without "2>&1"
a)
This command redirect output of command "git --version" to /dev/null
That is redirect only STDOUT to /dev/null
$git --version >/dev/null
$
b)
This command does not have output to redirect to /dev/null. Because command
"gitxxx --version" failed with Error "gitxxx: command not found". We didn't
tell shell to redirect Error to /dev/null, So it printed error in STDOUT(1).
$gitxxx --version >/dev/null
gitxxx: command not found
$
c)
We can tell shell to redirect Error to STDOUT(1).
Here 2 means STDERROR and 1 is STDOUT.
2>&1 Means redirect STDERROR to STDOUT file descriptor.
So below command will redirect both STDOUT and STDERROR to /dev/null
$git --version >/dev/null 2>&1
$gitxxx --version >/dev/null 2>&1
Good article,Click here
ReplyDelete