我需要在cygwin下执行shell脚本,因为我在Windows下。 shell被执行但是命令没有'识别...... 见下文:
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>openOCD</id>
<phase>validate</phase>
<configuration combine.self="override">
<tasks>
<exec
executable="C:/cygwin/bin/sh.exe"
failonerror="true">
<arg line="${project.basedir}/make.sh" />
</exec>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
目前的make.sh似乎并不复杂:
#!/bin/sh
export PATH=C:\cygwin\bin:$PATH
export BLA=C:\blabla
cd $BLA
mkdir testMaven
maven,通过Eclipse获取有关Run As ... Maven Install:
命令的信息 [INFO] Executing tasks
main:
[exec] C:bla
[exec] C:\Users\truc\TestSWMavensousKepler\pouet\bla/make.sh: line 6: mkdir: command not found
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
你知道吗?
谢谢:))
答案 0 :(得分:0)
C:\cygwin\bin\bash make.sh
将运行您的linux命令,您可以使用它来运行您的shell脚本文件。此外,任务标记(<task>
)现已弃用,您应该使用目标(<target>
)。理想情况下,代码应该工作。您可以在build.xml中添加可以在<target>
和</target>
之间添加的任何内容(使用ANT)。
<target>
<exec executable="C:\cygwin\bin\bash">
<arg value="${project.basedir}/make.sh"/>
</target>
确保C:\cygwin\bin\bash make.sh
正常工作。
答案 1 :(得分:0)
我知道它已经很晚了(发布后1年),但我遇到了同样的问题,并决定发布一篇关于如何修复它的快速文章。
简而言之: 1.如有必要,为您的开发环境创建配置文件 2.使用cmd作为可执行文件并提供/ C和脚本作为参数。