我正在尝试将我的应用程序部署在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
文件后,我尝试了Echo $ ant_home,它给了空行。
请帮助我弄清楚这个问题。
编辑1: which ant
no ant
我正在使用sh setapppath.sh命令执行sh文件。
正常运行脚本时,发生的事情是您的外壳启动了一个新过程,脚本在该过程中运行,当完成脚本时,进程死亡并控制返回到您的壳。
脚本对其环境所做的所有修改都随之而来。更改对父壳没有影响。同样,如果您想在脚本中运行cd
并期望父壳移动。
要在外壳的上下文而不是子过程中运行脚本,请使用source
或.
命令:
source setAppPath.sh
. setAppPath.sh