我在执行命令时出错了。
cd /opt/lampp/htdocs/EspoCRM-2.5.2 && find data -type d -exec chmod 775 {}错误:
find: missing argument to `-exec'发布于 2014-09-19 07:19:31
您需要将您的执行部分标记为使用\;完成,您的命令如下所示:
cd /opt/lampp/htdocs/EspoCRM-2.5.2 && find data -type d -exec chmod 775 {} \;顺便说一句:你不需要把它刻录成点唱机。查找可以走一条完整的路径到哪里去搜索。所以
find /opt/lampp/htdocs/EspoCRM-2.5.2/data/ -type d -exec chmod 775 {} \;也应该像查找调用一样工作。
发布于 2014-09-19 10:08:00
正如其他人所说的,需要终止find的-exec。然而,我实际上建议使用+而不是\;。这只适用于某些命令,但是使用+可以构建和运行一个更高效的命令。
例如,如果一个目录中有三个文件(a、b和c),并且运行了find -exec echo {} \;,那么它将执行:
echo a
echo b
echo c但是,如果使用find -exec echo {} +,它将动态地选择环境支持的尽可能多的参数(有一个限制),并且像xargs一样将它们链接在一起.所以实际运行的是:
echo a b c正如我前面说过的,只有当命令一次支持多个文件时,这才能工作。chmod就是其中之一。您可以通过查看man chmod页面来判断:
SYNOPSIS
chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...FILE...上的省略号表示它可以接受多个文件。
所以是的,将它们链接在一起意味着我们运行的chmod实例要少得多,这是很好的,因为有相当大的开销(在这样的小操作上)来分叉出一个新命令。
简而言之,使用+更快。
发布于 2014-09-19 07:24:58
您需要用\;结束命令
试试这个:
cd /opt/lampp/htdocs/EspoCRM-2.5.2 && find data -type d -exec chmod 775 {} \;https://askubuntu.com/questions/525890
复制相似问题