1

我在运行蚂蚁时遇到了一些麻烦。这是我的问题的简化版本。我有一个 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.有谁知道为什么会这样。

4

2 回答 2

4

听起来你在PATH之后失去了你的设置sudo。尝试添加echo $PATHscript1.sh查看之前和之后的值。或者只是定义script1.sh

export ANT_HOME=/opt/Ant
${ANT_HOME}/ant -version
于 2012-07-02T20:56:25.020 回答
0

在不知道什么 shell 或查看更多脚本的情况下,很难准确判断发生了什么。但是,如果您希望 script2 了解 ANT_HOME,您可能需要sourceevalscript1。见这里。我也知道管道'|' 导致 Bash 在子 shell 中执行操作,这在某些情况下可能会出现问题(如果您使用的是 Bash)。

编辑:仔细检查您使用的是您认为自己的 ant 版本:

#!/bin/bash
# Capital A here seems suspicious to me...
export ANT_HOME=/opt/Ant
echo "`${ANT_HOME}/ant -version`"
于 2012-07-02T20:25:41.197 回答