shell 脚本删除文件(如果已存在)

2024-03-20

我正在研究一些将数据存储在文件中的东西。 但每次我运行脚本时,它都会附加到前一个文件中。

我需要有关如何删除该文件(如果该文件已存在)的帮助。


不必费心检查该文件是否存在,只需尝试将其删除即可。

rm -f /p/a/t/h
# or
rm /p/a/t/h 2> /dev/null

请注意,如果文件不存在,第二个命令将失败(返回非零退出状态),但第一个命令将成功,因为-f(短缺--force) 选项。根据具体情况,这可能是一个重要的细节。

但更有可能的是,如果您要附加到文件,那是因为您的脚本正在使用>>将某些内容重定向到文件中。只需更换>> with >。很难说,因为您没有提供代码。

请注意,您can做类似的事情test -f /p/a/t/h && rm /p/a/t/h,但这样做是完全没有意义的。测试很有可能返回 true,但 /p/a/t/h 在您尝试删除它之前将无法存在,或者更糟糕的是,测试将失败并且 /p/a/t/h 将被创建在执行下一个命令之前,该命令预计它不存在。尝试这是一个经典的竞争条件。不要这样做。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

shell 脚本删除文件(如果已存在) 的相关文章

随机推荐