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

我正试图部署我的应用程序在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家的位置PATH也打印正确。

在执行setAppPath.sh文件之后,我试着echo $ ANT_HOME给了空行。

请帮我弄清楚这个问题。

编辑1: which ant给ant

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

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

脚本对其环境所做的所有修改都会随之死亡。 这些更改对父shell没有影响。 同样,如果你想在脚本中运行cd ,并期望父shell移动。

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

 source setAppPath.sh . setAppPath.sh