我正在编写一个makefile,它将在编译结束时清理一些无用的文件。如果已经制作了目标,它当然会跳过该目标,并且可能不存在无用文件。所以,如果我这样做:
rm lexer.ml interpparse.ml interpparse.mli
我可能会收到错误,因为其中一个文件不存在。有什么方法可以说 rm
忽略这些文件?
在阅读手册页时,我看到以下选项:
-f Attempt to remove the files without prompting for confirma-
tion, regardless of the file's permissions. If the file does
not exist, do not display a diagnostic message or modify the
exit status to reflect an error. The -f option overrides any
previous -i options.
听起来像 几乎 我想要什么,但我不确定权限部分。有没有办法做到这一点?
-f
选项仍然尝试删除它。它会失败。它不会告诉你它失败了。如果文件名是变量或glob,则很有用。
rm
在沙盒中?看起来像-f
完全符合你的要求,不管是什么样的。