从shell脚本运行ant命令

时间:2015-02-01 14:08:18

标签: bash shell

我正在编写一个脚本来自动编译java项目,并使用ant进行编译。当我直接在bash shell中运行ant命令时,它可以正确地构建项目。但是,如果我从shell脚本运行完全相同的命令,我收到以下错误:

./build.sh: line 21: Apache: command not found

我的build.sh文件中的第21行是:

`ant clean build -v -buildfile $BUILDFILE`

其中$BUILDFILE=auto_build.xml

我还在.bashrc中添加了ant bin文件夹的路径 $ANT_HOME的值为/usr/share/ant

ant -version给了我Apache Ant(TM) version 1.9.3 compiled on April 8 2014(如果添加到shell脚本,此命令也不起作用)

1 个答案:

答案 0 :(得分:2)

我怀疑问题是由于命令周围的反引号造成的。尝试替换

`ant clean build -v -buildfile $BUILDFILE`

ant clean build -v -buildfile $BUILDFILE

反引号表明bash解释器应该自己执行ant命令的输出作为命令。

请参阅https://unix.stackexchange.com/questions/27428/what-does-backquote-backtick-mean-in-bash