gpt4 book ai didi

shell - 如何仅删除存在的文件?

转载 作者:行者123 更新时间:2023-12-03 01:24:23 24 4
gpt4 key购买 nike

我有一个 shell 脚本,我想添加一两行,仅​​在日志文件存在时才删除该脚本。目前我的脚本只是做:

rm filename.log

但是,如果文件名不存在,我会收到一条消息,指出 filename.log 不存在,无法删除。这是有道理的,但我不想每次运行脚本时都看到这一点。有没有更聪明的方法可以使用 IF 语句来完成此任务?

最佳答案

-f参数传递给rm,这将使其将指定文件不存在的情况视为成功,并抑制任何错误消息这种情况:

rm -f -- filename.log

字面上的要求更像是:

[ -e filename.log ] && rm -- filename.log

但需要输入更多内容并添加额外的故障模式。 (如果在 [ 测试文件之后但在 rm 删除文件之前有其他东西删除了该文件,那么您将再次遇到失败)。

顺便说一句,-- 会导致文件名被视为文字,即使它以前导破折号开头;如果您的名称来自变量或未严格控制,您应该习惯使用这些。

关于shell - 如何仅删除存在的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42655177/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com