问:但是我使用Windows,该怎么办?
答:好的,即使/ dev / null的概念存在于Windows中,但是以另一种方式( NUL ),更改操作系统是一个更好的解决方案。
免责声明:这不是一篇旨在阻止人们使用Windows的宣传文章,它只是改变大脑工作的操作系统的隐喻。 但是,如果您使用Windows,也许您也应该这样做?
问:好的,现在我准备好接受信仰的飞跃,忘记我的错误了。 最重要的是,当它们出现时,我想完全忽略它们。 你下一步怎么做?
答:*对于存储在errors.txt文件中的旧错误,请执行以下操作:
$ cat / dev / null> errors.txt
*现在您知道了窍门,对于将来可能在执行它们时会产生错误的动作,请始终立即执行:
$ actions.sh> / dev / null 2 >& 1
是的,对于无条件无错误产生的东西,拒绝是最好的审判。
更认真
/ dev / null是Linux系统中的文件,每次系统启动时都会新创建。 它的作用使它不仅仅是一个文件,更像是一个设备。 在以下两种情况下可以感觉到其有用性。
干净地处理错误
想要巧妙地处理由于错误而可能生成的行的Bash开发人员肯定会在其代码中使用/ dev / null 。
实际上,假设您正在安装软件包。 要隐藏令人感到痛苦的错误行,您可以将它们汇总成一行,然后输出更个性化的消息,以便通知您操作已失败。 这要归功于“ echo $?”命令,如果命令成功则输出0,否则返回零。
根据您要处理的内容,可以重定向将输出到终端的消息,错误或同时输出和错误。 你应该注意
$命令> / dev / null
默认情况下重定向标准输出( stdout ),
$命令2> / dev / null
重定向标准错误( stderr )并
$命令> / dev / null 2>&1
摆脱了stderr和stdout 。 生活有多酷?
清空文件
当您要保留文件但将其从内容中清空时,这变得很方便。 即使可以
$>文件名
今天我们要让/ dev / null成为明星。 一个合理的选择,因为它已经是本文的主角。 因此,让我们看看如何使用它:
$ cat / dev / null>文件名
故事的道德启示
好吧,您现在应该已经了解了这个隐喻。 您的大脑就是您的操作系统,如果您让它拥有可以让您的生活更轻松,更轻松的空设备,那将会很酷。 我们都会犯错,但是,无论是将其存储在内存中还是通过控制台输出(您的声音是您的标准配置)来完全认可它们,可能对您的伤害大于对您的福祉的伤害。
资料来源:
[1] https://www.networkworld.com/article/3025497/sending-data-into-the-void-with-dev-null.html