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.