use*_*865 4 unix linux bash shell io-redirection
假设有人正在编写bash脚本,其中需要静默stdout,stderr并提供自定义输出.
是否可以使用如下功能:
dump(){
"$@" > /dev/null 2>&1
}
Run Code Online (Sandbox Code Playgroud)
然后
dump rm filename || echo "custom-message"
Run Code Online (Sandbox Code Playgroud)
它无法按预期运行的可能情况是什么?
这是一个很好的技术.我总是使用类似的东西.优点:
/dev/tty或/dev/console,这很少见,并且可能有充分的理由.cd,pushd/ popd,等等.dump如果您愿意,可以在管道的末尾使用."$@" 使用空格,全局和其他特殊字符正确处理命令名称和参数.它对我来说很好看!
我唯一的挑剔是名字dump不是最清楚的.