作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 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/
我是一名优秀的程序员,十分优秀!