tags:

views:

129

answers:

2

In shell script i need to redirect output from dd command to /dev/null - how to do that?

( dd if=/dev/zero of=1.txt count=1 ) 2>&1 /dev/null

didn't work!

+3  A: 

If you want to redirect only the standard output of the command do:

( dd if=/dev/zero of=1.txt count=1 ) > /dev/null

and if you want to redirect both stdout and stderr to /dev/null do:

( dd if=/dev/zero of=1.txt count=1 ) > /dev/null 2>&1
codaddict
thanks it works !!! :)
lakshmipathi
Specifically: You must first redirect `stdout` and then you can "copy" the new file descriptor to `stderr`.
Aaron Digulla
I just want to ignore messages from dd command -- messages should not be displayed . thanks
lakshmipathi
+2  A: 

No need for a subshell.

dd if=/dev/zero of=1.txt count=1 2>/dev/null

However what if there is an error? You could instead do:

err=$(dd if=/dev/zero of=1.txt count=1 2>&1) || echo "$err" >&2
pixelbeat