当前位置: 首页 > 知识库问答 >
问题:

在 gradle 中执行 shell 脚本看不到回声输出

印曜灿
2023-03-14

我在Gradle中使用这个问题执行shell脚本作为参考,但是,我无法弄清楚如何让它工作。

这是我的档案:

...

task myPrebuildTask(type: Exec) {
    println "Hello world from gradle"
    commandLine 'sh', './myScript.sh'
}

build.dependsOn myPrebuildTask

我myScript.sh

#! /bin/sh
回显脚本文件中的Hello world

但是,每当我运行脚本gradle assembleDebug时,我只能看到“来自gradle的Hello world”,而看不到“来自脚本文件的Hello world”。

Yuchens-iMac:MyApplication yuchen$ gradle assembleDebug
Hello world from gradle
Incremental java compilation is an incubating feature.
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
...

为什么?

共有1个答案

刘博雅
2023-03-14

我在一个新的版本中加入了这个属性。gradle

defaultTasks 'myPrebuildTask'

task myPrebuildTask(type: Exec){
    println "Hello world from gradle"
    commandLine 'sh', './myScript.sh'
}

运行gradle-q的结果是:

> gradle -q
Hello world from gradle
Hello world from the script file

显然,任务可以很好地打印命令输出。

你的情况可能有几个原因。当您调用< code > gradle assembled bug 时,您设置的任务相关性可能不足以触发您的自定义任务,或者,因为这两行实际上是在不同的grad le阶段打印的,所以第二行可能在日志中的其他地方——您还没有提交整个输出。

 类似资料:
  • 我有一个gradle构建设置,在开始时,我想在准备我的环境的子目录中执行一个shellscript。 但是,当我通过调用 或仅通过构建项目来执行任务时,会发生以下错误: 不幸的是,这就是我得到的一切。 我也尝试了以下 - 相同的错误。 我在Windows上使用Gradle 1.10(Android需要),在Cygwin shell中。有什么想法吗?

  • 问题内容: 我想运行一个shell脚本来在构建我的应用程序时更改string.xml中的值。我应该在哪里在gradle中运行脚本,因为其中没有任务。或者,因为我将使用Jenkins构建应用程序,所以我应该在Jenkins服务器上运行脚本吗?请帮帮我。 问题答案: 您可以添加一个运行脚本并使其依赖于构建的步骤。

  • 本文向大家介绍Android 从Gradle执行Shell脚本,包括了Android 从Gradle执行Shell脚本的使用技巧和注意事项,需要的朋友参考一下 示例 Shell脚本是一种非常通用的方法,可以将您的构建扩展到您能想到的任何东西。 例如,这是一个简单的脚本,用于编译protobuf文件并将结果java文件添加到源目录中以进行进一步编译: 此示例的“ pbScript.sh” shell

  • 问题内容: 我正在用geb进行功能测试。 我的应用程序是使用virgo部署的,并使用HSQLDB来存储数据。我想在此工作版本的应用程序上执行测试,但是每次运行webtests时,我都想从空数据库开始。 我写了一个简单的bash脚本 这将删除数据库并重新启动处女座。 但是,当我将其添加到build.gradle任务执行命令时,它永远不会结束。 为什么这样呢?当我在控制台中运行此脚本时,它会迅速返回(

  • 问题内容: 我尝试谷歌搜索答案,但没有运气。 我需要使用我的超级计算机服务器,但是要运行我的python脚本,必须通过shell脚本执行。 例如我要执行 如何做到这一点? 问题答案: 只需确保python可执行文件在PATH环境变量中,然后在脚本中添加 细节: 在文件job.sh中,放入 执行此命令以使脚本可运行: 运行 :

  • 问题内容: 我想从PHP脚本执行系统上存在的Bash脚本。我的系统上有两个脚本。其中一个是称为at at 的PHP脚本,另一个是称为at at 的Bash脚本。 我的client.php脚本看起来像 我的睾丸看起来像 当我在终端上执行以下操作时 我在终端上得到以下输出 但是当我在打开页面时 我得到以下输出 即使执行了chmod + x testscript,我仍然收到此错误。 我如何从浏览器中获取