我有一个rm *.o
命令Makefile
来删除编译期间生成的所有目标文件。.o
但是,如果某些文件不存在,则会输出一些错误信息。那么如何抑制错误信息输出呢?
问问题
8282 次
3 回答
12
在 的上下文中make
,比输出更重要的是,您不希望将结果rm
视为失败。有两种方法可以处理它:
clean:
-rm *.o 2> /dev/null
rm -f *.o 2> /dev/null
第一种方法是在命令前面加上减号,这make
表示忽略返回码。这是首选的make
特定方式。第二种是使用-f
标志,它只特定于rm
.
最重要的是,您可以选择是否抑制输出2> /dev/null
。
于 2013-03-15T12:48:17.893 回答
6
在极少数情况下,可能还需要将输出重定向到/dev/null
. 你可能想要做rm *.o > /dev/null 2>&1
. 该> /dev/null
部分将 stdout 发送到/dev/null
,并2>&1
表示将 stderr 发送到 stdout 要去的任何地方。
于 2013-03-15T12:40:25.767 回答
2
rm -f *.o
或者
rm *.o >& /dev/null
于 2013-03-15T12:39:41.590 回答