Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

Is there a way to make &>/dev/null the default behavior in a sh/bash script? I' rather not have to appended this to every command within the console, not an *.sh script.

I'm looking to make a global setting...or at least a custom alias of some sort, but one that makes any command and every command, auto-append &>/dev/null to the end.

Any ideas?

share|improve this question
Why, on earth, would you want to do this? Output exists for a reason, and though it is helpful to sometimes get rid of that output, making it the default seems very odd to me. –  HalosGhost Jul 3 '14 at 20:47
Why?, I need to know. –  richard Jul 3 '14 at 21:56
because I'm stupid and I didn't think it through. I have it under control though now. –  Imanerd11 Jul 3 '14 at 22:35

2 Answers 2

Add exec &>/dev/null in the beginning of bash script

share|improve this answer
thanks, but I think you've misunderstood me. I mean for the console, not a script in particular. I want everything I type into the console, to have output redirected...not in an *.sh script. does this work if I put exec &>/dev/null /bin/bash to .bashrc? edit: nevermind, I decided to put it to all my commands in .bashrc, each individually. thanks again though for your answer. –  Imanerd11 Jul 3 '14 at 20:41
~/.bashrc is suddenly a bash script, too. –  tijagi Jul 4 '14 at 0:56

In the shell:

exec >/dev/null
# still shows the prompt
exec 2>/dev/null
# now the prompt is gone, too

# restore stdout
exec >/dev/tty
# restore stderr
exec 2>/dev/tty
share|improve this answer
you can make the prompt go by redefining PS –  richard Jul 3 '14 at 21:55
@richard I did not mean only what the shell prints automatically but also the commands you type (which are not affected by PS1). –  Hauke Laging Jul 3 '14 at 22:05
@John1024 That's strange: I thought that it should work with /dev/tty. I tested that and it didn't work thus I used the other way. If I test it again now it works... No idea what may have gone wrong before. –  Hauke Laging Jul 4 '14 at 2:31

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.