如何设置环境变量?

jum*_*ett 124 environment-variables

我正在尝试在我的电脑上设置 Apache Tomcat,它希望我为CATALINA_HOME. 有谁知道如何做到这一点?

Res*_*ssu 138

在 bash 中,您可以像这样设置变量:

export CATALINA_HOME=/opt/catalina
Run Code Online (Sandbox Code Playgroud)

大多数其他 shell 遵循这个约定,但不是全部。您可以~/.profile为 bash永久设置它(和以前一样,其他 shell 有其他位置)

  • 对于会话范围的变量,http://help.ubuntu.com 推荐`~/.profile` 作为_可能是放置环境变量分配的最佳文件,因为它也会在启动过程桌面会话期间由 DisplayManager 自动执行就像从文本控制台登录时的登录外壳一样。_ (7认同)
  • 在`~/.profile` 中设置它对我不起作用。不过它在`~/.bashrc` 中有效。 (7认同)
  • 在`~/.bash_profile` 中设置它也有效。 (2认同)

Kas*_*iya 41

要在最新的 Ubuntu 版本(从 14.04 及更高版本)中设置永久环境变量,请将变量添加到/etc/environment. 为此,请遵循以下说明,

打开终端并运行

sudo -H gedit /etc/environment
Run Code Online (Sandbox Code Playgroud)

提供您的密码,然后在提示的文本文件中

然后添加变量,如

ANT_HOME="/opt/ANT/"
Run Code Online (Sandbox Code Playgroud)

/etc/environment下面给出了样本

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME="/usr/lib/jvm/java-8-oracle/"
AXIS2_HOME="/opt/axis2-1.7.4/"
ANT_HOME="/opt/apache-ant-1.9.7/"
Run Code Online (Sandbox Code Playgroud)

不要忘记注销并再次登录以启用环境变量。


jr0*_*ket 28

环境变量应该已经可以工作了

如果您使用的是 Ubuntu 存储库中的 tomcat6 包,那么 CATALINA_HOME 和其他环境变量已经在/etc/init.d/tomcat6启动脚本中设置。

如果你在包管理器之外安装 tomcat(希望在 /opt 或托管文件系统之外的其他地方),那么运行TOMCAT/bin/startup.sh应该使用相对位置来定义 CATALINA_HOME。

设置环境变量

如果由于某种原因您仍然需要设置环境变量,您可以打开一个终端窗口并输入以下命令:

export CATALINA_HOME=/path/to/the/root/folder/of/tomcat
Run Code Online (Sandbox Code Playgroud)

此环境变量现在将在该终端窗口中工作,但如果您打开另一个窗口或注销/登录,则会丢失该设置。

使环境变量永久化

要使环境变量设置永久化,您可以在多个地方定义该设置。

为了确保设置被选中,将上述设置添加到 tomcat 的启动脚本之一:

yourtomcatfolder/bin/startup.sh

yourtomcatfolder/bin/catalina.sh
Run Code Online (Sandbox Code Playgroud)

注意:startup.sh 调用了 catalina.sh。您应该在这些文件之一的开头添加设置(在任何初始评论之后)

全局环境变量的标准方法是添加一个条目/etc/environment(您不要在此文件中使用命令 export,因为它不是普通的 bash 脚本)

CATALINA_HOME=/path/to/the/root/folder/of/tomcat
Run Code Online (Sandbox Code Playgroud)

不建议

您可以在 bash(命令行 shell)配置文件中设置环境变量,但不建议使用这些变量,因为它们并不总是被选中(例如,如果您正在运行未登录以运行 tomcat 的服务器):~/ .bashrc | ~/.profile | /etc.bash.bashrc | /etc/配置文件

  • 它不应该是`startup` 或`catalina` 脚本,而是`setenv.sh` 或`setenv.bat` 脚本,根据需要创建它:“除了CATALINA_HOME 和CATALINA_BASE,所有环境变量都可以在“ setenv”脚本。该脚本放置在 CATALINA_BASE/bin 或 CATALINA_HOME/bin 目录中,并命名为 setenv.bat(在 Windows 上)或 setenv.sh(在 *nix 上)。该文件必须是可读的。” ([运行 Apache Tomcat 7.0 Servlet/JSP 容器](http://tomcat.apache.org/tomcat-7.0-doc/RUNNING.txt),第 3.4 节) (5认同)

小智 8

nano ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

这很可能已经包含相当多的数据。这里的大部分定义都是用于设置 bash 选项,与环境变量无关。您可以像从命令行一样设置环境变量:

export VARNAME=value
Run Code Online (Sandbox Code Playgroud)

关联

我在 Ubuntu 16.04 上测试过。效果很好。


McD*_*ell 6

最佳位置取决于您安装 Tomcat 的方式和位置、您想要选择此设置的应用程序以及您希望范围的全局性。

关于环境变量Ubuntu 文档讨论了各种选项的优缺点。