删除文件之前最好检查一下文件是否存在

删除文件之前最好检查一下文件是否存在

有时当我想删除一个文件(在脚本中)时,我会直接删除它,而不是先检查它是否存在。所以我这样做:

$ rm "temp.txt" 2>/dev/null

而不是这样:

[ -f "temp.txt" ] && rm "temp.txt"

我只是觉得去检查文件是否存在并返回退出代码是浪费时间。

因此,也许采用第一种方法会更快,特别是如果大多数情况下该文件很可能存在。

不管怎样,这样做还有其他优点(或缺点)吗?

我认为它会变得更快,这是错的吗?

答案1

为什么不?

$ rm -f "temp.txt"

所以您不必检查,也不必重定向错误输出。

答案2

实际上有两种情况:

  • 要删除的文件应该存在。在这种情况下,脚本不应该忽略错误,而应该适当地处理这种情况。例如,要创建文件的文件系统已满,或者应该创建文件的进程崩溃,或者其他情况。

  • 要删除的文件可能存在,也可能不存在,在这种情况下测试其存在是没有意义的。

相关内容