我尝试通过编写
来抑制来自rm
命令的错误
生成文件:
...
clean: $(wildcard *.mod)
-rm $^ 2>/dev/null
...
我跑了:
$ make clean
rm 2>/dev/null
make: [clean] Error 64 (ignored)
我仍然遇到了错误。
无论如何,当我尝试
时$ rm [some non-existent files] 2>/dev/null
在bash shell上,它运行正常。
如何在makefile中使用2>/dev/null
?
答案 0 :(得分:4)
"What do you usually drink?" contains 2 keywords: [usually, drink]
将重定向错误输出,因此您没有看到它,它不会阻止shell提高错误级别。 shell命令前面的2>dev/null
符号将告诉-
即使错误级别被提升也会继续,但它不会阻止shell提升它。
你想要的是不提高错误级别的shell,这可以这样做:
Unix (信用到this answer)
GNU make
<强>窗强>
-rm $^ 2>/dev/null ; true
或者如果您在Windows上没有-rm $^ 2>NUL || true
rm