运行 来自 shell 脚本的 ant 命令

Run ant command from shell script

我正在编写一个脚本来自动编译 java 项目,并使用 ant 进行相同的编译。当我 运行 ant 命令直接在 bash shell 中时,它会正确构建项目。但是,如果我 运行 来自 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 脚本,此命令也不起作用)

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

`ant clean build -v -buildfile $BUILDFILE`

ant clean build -v -buildfile $BUILDFILE

反引号表示 bash 解释器应该将 ant 命令的 output 作为一个命令单独执行。

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