立即注册 登录
关注IT社区 返回首页

o0JSP的个人空间 http://u.gzit.org/?27 [收藏] [复制] [分享] [RSS]

日志

find:paths must precede expression 问题处理

已有 343 次阅读2017-11-13 01:49 |个人分类:Linux/Unix

今天有个朋友说写了个定时清理过期备份的脚本,执行的时候出现如标题的报错。
脚本如下:
find .  -type f -name *.sql  -mtime +180  -exec rm {} \;
原因:
引起该问题的主要原因是在使用find命令查找文件的时候,如果使用的是通配符,则会自动将符合通配符的文件内容列表展开,所以导致了这个问题。比如:以上语句可能会变成 find .  -type f -name a.sql b.sql c.sql .......
处理办法:
在通配符匹配内容用单引号引起来即可,比如:
find .  -type f -name '*.sql'  -mtime +180  -exec rm {} \;

加上单引号以后,脚本执行正常,问题得到解决。Done.

路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

Archiver|关注IT ( 粤ICP备06100905号 )

GMT+8, 2018-12-13 03:41 , Processed in 0.059826 second(s), 13 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部