从批处理文件运行Cygwin命令

问题描述:

我的项目是一个AndroidNDK项目,需要一些构建命令才能从Cygwin(或Unix环境)运行。有没有办法使用TeamCity来做到这一点?从批处理文件运行Cygwin命令

我尝试使用命令行构建步骤,并传入一个批处理文件,首先启动cygwin,然后执行我需要的构建命令。然而,这不起作用,它所做的只是启动cygwin,但是我的unix命令在此之后不会执行。

你是如何从cygwin启动和运行命令的?

你将不得不做bash -c "command you want to run"(假设bash.exe在路径上)。只需调用bash,然后发出命令就可以启动bash。

+0

我试过这个,但是这给了我一些来自ndk-build脚本的错误,即'行40:dirname:command not found 错误:找不到'make'程序。请安装Cygwin make软件包或定义GNUMAKE变量以指向它。 我想从Cygwin运行的命令是'$ NDK_ROOT/ndk-build'。如果我尝试'bash --login -i MyBashScript',其中MyBashScript包含'$ NDK_ROOT/ndk-build',我会进一步了解一下,但是我得到了'无法找到应用程序项目目录!请定义NDK_PROJECT_PATH ...'否则,如果我手动启动Cygwin并运行ndk-build,所有工作正常。 –

+0

我结束了使用bash脚本并从批处理文件调用我的命令。出于某种原因,我必须使用'bash --login -i',然后使用我的bash脚本名称。 Thx的帮助! –

我使用了cygwinonce。我试着做类似你想做的事。我想用默认命令启动cygwin。 bash --login -i myBashScript.exe 仅当我们将myBashScript.exe粘贴到bin文件夹中时。

+1

这似乎不是一个答案。 –