将 Linux 上的文件与 Gradle 连接起来



这是我当前的 Gradle 任务:

task concat << {
    println "cat $localWebapp/sc*.js > $buildDir/js/sc.concat.js"
    exec {
        commandLine "bash","-c",'cat',"$localWebapp/sc*.js", ">", "$buildDir/js/sc.concat.js"
    }
}

即使我使用 println 打印的命令是正确的(如果我将其粘贴到项目目录中的控制台中,它就可以工作),该命令也不会生成sc.concat.js文件。

发生了什么,我该如何解决?

sh -c需要一个参数来执行脚本/命令:

commandLine "/bin/sh","-c","cat $localWebapp/sc*.js > $buildDir/js/sc.concat.js"

否则,cat之后的参数将作为进一步的参数传递给shell,这被"误解"了。

而不是commandLine,似乎executable工作:

task concat << {
    println "cat $localWebapp/sc*.js > $buildDir/js/sc.concat.js"
    exec {
        executable "sh"
        args "-c", "cat $localWebapp/sc*.js > $buildDir/js/sc.concat.js"
    }
}

相关内容

  • 没有找到相关文章

最新更新