执行ant时出错:-bash:ant:command not found

时间:2015-05-10 08:40:13

标签: java linux bash ant

我正在尝试在Linux机器中部署我的应用程序,我有一个名为setAppPath.sh文件的文件:

#!/bin/sh
APP_HOME=`pwd`
ANT_HOME=$APP_HOME/lib/ant

echo $ANT_HOME

PATH=$ANT_HOME/bin:$APP_HOME/scripts/unix:$PATH

echo $PATH

chmod +x $ANT_HOME/bin/ant
chmod +x $APP_HOME/scripts/unix/*.sh

export APP_HOME ANT_HOME PATH

当我尝试执行ant命令时,收到错误消息:

-bash: ant: command not found

echo $ANT_HOME正在打印我的ant home位置,PATH也正确打印。

在感染setAppPath.sh文件后,我尝试回显$ ANT_HOME,它给出了空行。

请帮我弄清楚这个问题。

编辑1: which ant不提供蚂蚁

我使用sh setAppPath.sh命令来执行sh文件。

1 个答案:

答案 0 :(得分:1)

当你正常运行你的脚本时,会发生什么是你的shell启动一个新进程,脚本在该进程中运行,当脚本完成时,进程终止并且控制返回到你的shell。

脚本对其环境所做的所有修改都会随之消失。这些更改对父shell没有影响。如果您尝试在脚本中运行cd并期望父shell移动,则相同。

要在shell的上下文中而不是在子进程中运行脚本,请使用source.命令:

source setAppPath.sh
. setAppPath.sh