Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Ant:find:缺少“-exec';_Linux_Ant_Find_Exec_Sudo - Fatal编程技术网

Linux Ant:find:缺少“-exec';

Linux Ant:find:缺少“-exec';,linux,ant,find,exec,sudo,Linux,Ant,Find,Exec,Sudo,我正在尝试将此命令添加到ant构建脚本: sudo find app/cache/ -type d -exec chmod 775 {} \; 我在build.xml中尝试了许多变体,每次都会遇到相同的错误: find: missing argument to `-exec' 以下是我尝试过的: a <exec executable="sudo" failonerror="true" osfamily="unix"> <arg value="find"/>

我正在尝试将此命令添加到ant构建脚本:

sudo find app/cache/ -type d -exec chmod 775 {} \;
我在build.xml中尝试了许多变体,每次都会遇到相同的错误:

find: missing argument to `-exec'
以下是我尝试过的:

a

<exec executable="sudo" failonerror="true" osfamily="unix">
    <arg value="find"/>
    <arg value="app/cache/"/>
    <arg value="-type"/>
    <arg value="d"/>
    <arg value="-exec"/>
    <arg value="chmod"/>
    <arg value="775"/>
    <arg value="{}"/>
    <arg value="\;"/>
</exec>

很明显,逃避它是个问题,我不得不移除所有的\,甚至是之前的\

<exec executable="sudo" failonerror="true" osfamily="unix">
    <arg line="find app/cache/ -type d -exec chmod 775 {} ;"/>
</exec>

很显然,要逃避这是个问题,我必须删除所有的\,甚至是之前的\

<exec executable="sudo" failonerror="true" osfamily="unix">
    <arg line="find app/cache/ -type d -exec chmod 775 {} ;"/>
</exec>

ANT有一个可以在文件集或目录集上操作的

  <target name="changeperms">
    <chmod perm="775" verbose="true">
      <dirset dir="app"/>
    </chmod>
  </target>
ANT有一个可以在文件集或目录集上操作的

  <target name="changeperms">
    <chmod perm="775" verbose="true">
      <dirset dir="app"/>
    </chmod>
  </target>

是的。命令的最后一个参数是/不是
\但是
。反斜杠表示shell(否则shell会将
解释为命令的结尾),而
ant
看到这两个字符并将其作为参数(这不是
find
所期望的)。注意:
sudo find app/cache/-type d-exec chmod 775{}
sudo find app/cache/-type d-exec chmod 775{}“
。你的第一次尝试(a)应该也能用,没有反斜杠。是的。命令的最后一个参数是/不是
\但是
。反斜杠表示shell(否则shell会将
解释为命令的结尾),而
ant
看到这两个字符并将其作为参数(这不是
find
所期望的)。注意:
sudo find app/cache/-type d-exec chmod 775{}
sudo find app/cache/-type d-exec chmod 775{}“
。你的第一次尝试(a)也应该没有反斜杠。
sudo ant changeperms