[英]redirect bash output and error for all commands
如何將bash上執行的所有命令重定向到/ dev / null?
很明顯,對於我們必須做的命令:
command > /dev/null 2>&1
所有將要執行的命令怎么樣?
只需啟動一個新shell:
bash >/dev/null 2>&1
現在你可以輸入命令blind :)如果你想離開那個模式類型: exit
但盲目輸入命令通常不是你想要的。 所以我建議創建一個像script.sh
這樣的文本文件,將命令放在其中:
command1 foo
command2 bar
而不是使用以下方式執行:
bash script.sh >/dev/null 2>&1
該腳本中所有命令的輸出現在將重定向到/ dev / null
在沒有命令的情況下使用exec
:
exec > /dev/null 2>&1
正如hex2mgl指出的那樣,如果你在交互式shell中執行此操作,則甚至不會再看到提示符,因為shell會將其打印到標准錯誤。 我認為這是用於腳本,因為忽略來自交互式運行的命令的所有輸出沒有多大意義:)
對於腳本或其他實際目的,對命令進行分組是一個很好的解決方案。 查看http://www.gnu.org/software/bash/manual/html_node/Compound-Commands.html具體說明Any redirections (see Redirections) associated with a compound command apply to all commands within that compound command unless explicitly overridden.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.