I want to run a program (google-chrome) in the background, but prevent it from outputting any messages to the terminal.
I tried doing this:
google-chrome 2>&1 1>/dev/null &
However, the terminal still fills up without messages like:
[5746:5746:0802/100534:ERROR:object_proxy.cc(532)] Failed to call method: org.chromium.Mtpd.EnumerateStorag...
What am I doing wrong? How do I redirect all the output to /dev/null?
Redirection operators are evaluated left-to-right. You wrongly put
2>&1first, which points2to the same place, as1currently is pointed to which is the local terminal screen, because you have not redirected1yet. You need to do either of the following:Or
The placement of the redirect operators in relation to the command does not matter. You can put them before or after the command.