有什么区别
rm executable
和
rm executable >>dev/null
我将后面的语句Makefile
改成了第一个语句。我觉得什么都没变。
答案1
rm executable
executable
只是从当前目录中删除该文件。
rm executable &> /dev/null
执行相同的操作,但它运行命令时将输出和错误流重定向到特殊文件/dev/null
。
这意味着您将不会在终端中看到任何消息。/dev/null
它们被重定向到的文件是一个虚拟字符设备,它会像黑洞一样吞噬所有传入的数据。
像这样的输出重定向/dev/null
通常用在您不希望用户看到所包含命令的可能输出的脚本中。
答案2
此附加行/dev/null
仅表示省略所有输出,或者更确切地说直接发送到数据涅槃(或空洞,或无底洞)。因此,唯一可能改变的是,如果此命令遇到错误,您将在屏幕上看到它的输出。