You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复Bash中查找超150天目录改属主时的exec参数缺失报错

find命令-exec参数报错修复方案

报错原因

原命令存在三处语法问题,直接导致-exec参数不完整报错:

  • chown命令不完整:oracle:oinst是未写完的属主属组配置,标准Oracle用户组应为oracle:oinstall,可根据实际业务的属主属组名称调整
  • 缺少-exec必填的路径占位符{}:该符号用来指代find搜索到的目标目录路径
  • 缺少-exec参数的结束标记\;:find规定-exec后的执行语句必须以转义分号\;收尾,标识执行命令的边界;另外原命令中给chown加的多余双引号也需要移除

修复后命令

如果需要先打印匹配的目录名,再递归修改属主,执行以下命令:

find /mnt/mailfolder/ -maxdepth 1 -type d -mtime +150 -printf "%P\n" -exec chown -R oracle:oinstall {} \;

可选优化建议

  • 执行修改前建议先跑预览命令,确认匹配的目录符合预期,避免误操作:
    find /mnt/mailfolder/ -maxdepth 1 -type d -mtime +150 -printf "%P\n"
  • 如果匹配的目录数量较多,可以把结尾的\;替换为+,find会将多个路径拼成一条chown命令执行,大幅提高执行效率:
    find /mnt/mailfolder/ -maxdepth 1 -type d -mtime +150 -printf "%P\n" -exec chown -R oracle:oinstall {} +
    

内容的提问来源于stack exchange,提问作者nick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 06:06:03