您在未传递环境变量的情况下调用了脚本,请使用 -E 开关以 sudo 身份运行

您在未传递环境变量的情况下调用了脚本,请使用 -E 开关以 sudo 身份运行

我觉得这是一个非常愚蠢的问题,但我已经尽了一切努力。我正在尝试安装一个名为AVR4L但是当我尝试运行时sudo ./install.sh,我收到以下消息:

You called the script without passing the environment variables, please run as sudo with -E switch.

所以我尝试使用 -E 开关:

sudo -E ./install.sh

但我仍然遇到同样的错误。以下是我尝试过的一些其他命令:

sudo -E ./install.sh
sudo -e ./install.sh
sudo ./install.sh -E
sudo ./install.sh -e

所有这些都会收到相同的错误。

有人能帮我解决这个问题吗?

我在修改后的 Optiplex 755 上使用 Debian 9

感谢您的时间!尼古拉.

答案1

安装脚本JAVA_HOME当未设置环境变量时打印此消息(第 18 行)。这自述文件告诉你应该如何做。您要么没有遵循该手册,要么它在您的系统上以不同的方式工作;在后一种情况下,您可以尝试在 中设置变量~/.profile~/.bashrc或者~/.bash_profile根据您的发行版使用的内容来设置变量。可能还需要在该行前面加上export;至少这样做不会有什么坏处:

export JAVA_HOME=/usr/lib/jvm/java-8-oracle

答案2

它期待一些变量。您需要弄清楚到底有哪些变量。要么查阅自述文件,要么只是阅读脚本。一旦您知道要设置的变量,请尝试:

sudo VAR=value ./install.sh

或者

sudo ./install.sh -E VAR=value

(或者类似的东西;也许-E value)。

相关内容