我正在尝试运行一个简单的ant构建,它有一个在cygwin中运行bash shell脚本的目标。当我运行构建时,目标似乎运行但可执行文件没有。相反,我得到一个Java IO异常:创建过程错误= 193。如果我独立运行脚本它可以正常工作。在我使用只有一个命令的test.sh的那一刻,将一条消息回显给屏幕。
我知道从cygwin运行脚本可能不是最佳实践,但是在我让这个短期解决方案工作之后,我想要将脚本函数集成到ant构建中。
我的XML如下......
<?xml version="1.0"?>
<project name="TestProject" default="exec_build_config" basedir=".">
<property name="test" location="test.sh"/>
<target name="exec_build_config" >
<exec executable="${test}">
</exec>
</target>
</project>
我的shell脚本......
#!/bin/sh
echo "testing !!!"
它只是不起作用:(任何帮助将不胜感激!谢谢
答案 0 :(得分:0)
您是否尝试过运行等效的:
sh test.sh
? (即将可执行文件指定为sh
并附带相关参数)。
执行上述操作将告诉Ant使用测试shell脚本的参数执行sh
。我怀疑Java程序生成器机制不会遵守#!
语法,因为它是特定于Unix的。
答案 1 :(得分:0)
在敲打我的头后,我发现了造成这个问题的原因。看起来QTP的安装改变了我的一些环境变量,在我重置它们之后似乎工作得很好!不管怎么说,还是要谢谢你!