redirect bash output and error for all commands redirect bash output and error for all commands bash bash

redirect bash output and error for all commands


Simply start a new shell:

bash >/dev/null 2>&1

Now you can type commands blind :) If you want to leave that mode type: exit

But typing commands blind will normally not what you want. So I would suggest to create a text file like script.sh, place your commands in it:

command1 foo command2 bar

and than execute it using:

bash script.sh >/dev/null 2>&1

The ouput of all commands in that script will be redirected to /dev/null now


Use exec without a command:

exec > /dev/null 2>&1

As hex2mgl pointed out, if you do this in an interactive shell, you won't even see your prompt anymore, as the shell prints that to standard error. I assume this is intended for a script, as it doesn't make a lot of sense to ignore all output from commands run interactively :)


for scripting or other practical purpose, grouping the command is a nice solution. check http://www.gnu.org/software/bash/manual/html_node/Compound-Commands.html It says specifically Any redirections (see Redirections) associated with a compound command apply to all commands within that compound command unless explicitly overridden.