我试图在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回声$ANT_HOME正在打印我的蚂蚁家位置,路径也被正确地打印出来。
在取出setAppPath.sh文件后,我尝试了回显$ANT_HOME,它给出了空行。
请帮我解决这个问题。
编辑1: which ant不给蚂蚁
我使用sh setAppPath.sh命令来执行sh文件。
发布于 2015-05-10 09:10:26
当您正常运行脚本时,会发生的情况是,您的shell启动一个新进程,脚本在该进程中运行,当脚本完成时,流程就会死掉,控制权将返回到您的shell。
脚本对其环境所做的所有修改都会随着它的出现而消失。这些更改对父shell没有影响。如果您试图在脚本中运行cd,并且期望父shell移动,也是一样的。
若要在shell上下文中而不是在子进程中运行脚本,请使用source或.命令:
source setAppPath.sh
. setAppPath.shhttps://stackoverflow.com/questions/30149381
复制相似问题