我在运行蚂蚁时遇到了一些麻烦。这是我的问题的简化版本。我有一个shell脚本script1.sh:
export ANT_HOME=/opt/Ant
ant -version
这很有效。但是当我尝试创建另一个脚本script2时:
cd /location/of/script1
sudo -E ./script1.sh | tee log.txt
我收到错误ant: command not found.
有谁知道为什么会这样。
答案 0 :(得分:4)
听起来PATH
之后您的sudo
设置丢失了。尝试在echo $PATH
中添加script1.sh
以查看之前和之后的值。或者只是将script1.sh
定义为
export ANT_HOME=/opt/Ant
${ANT_HOME}/ant -version
答案 1 :(得分:0)
如果不知道什么是shell,或者看到更多的脚本,很难确切地说出发生了什么。但是如果你想让script2知道ANT_HOME,你可能需要source
或eval
script1。 See here。我知道管道'|'导致Bash在子shell中执行操作,这在某些情况下可能会有问题(如果你使用的是Bash)。
编辑: 仔细检查您使用的是您认为自己的蚂蚁版本:
#!/bin/bash
# Capital A here seems suspicious to me...
export ANT_HOME=/opt/Ant
echo "`${ANT_HOME}/ant -version`"