如何设置环境变量?


90

我正在尝试在PC上设置Apache Tomcat,它希望我为设置环境变量CATALINA_HOME。有不知道该怎么做?

Answers:


100

在bash中,您可以设置以下变量:

export CATALINA_HOME=/opt/catalina

其他大多数外壳程序都遵循此约定,但并非全部。您可以将其永久设置~/.profile为用于bash(和以前一样,其他shell在其他位置)


6
会话范围的变量,help.ubuntu.com建议~/.profile,因为它就会自动被DISPLAYMANAGER启动过程桌面会话期间登录shell当一个日志式执行,以及可能用于放置环境变量设置在最佳的文件,从文本控制台。
McDowell

更新了答案。我之所以使用.bashrc的原因是,在某个时候.profile并不是自动获得的。但是,如果现在可以使用,最好使用它。
Ressu 2010年

6
设置它对~/.profile我不起作用。它的工作原理中~/.bashrc虽然。
jumpnett

设置它~/.bash_profile也可以。
jumpnett

/ etc中还有一个系统范围的文件。这有效,但按用户。
wheredthatthatname来自

26

环境变量应该已经起作用

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

如果要在软件包管理器之外(最好是在/ opt或受管文件系统之外的其他地方)安装tomcat,则运行TOMCAT/bin/startup.sh时应使用相对位置来定义CATALINA_HOME。

设置环境变量

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

export CATALINA_HOME=/path/to/the/root/folder/of/tomcat

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

使环境变量永久

要使环境变量设置永久生效,可以在多个位置定义设置。

为了真正确定要获取设置,请将以上设置添加到tomcat的启动脚本之一:

yourtomcatfolder/bin/startup.sh

yourtomcatfolder/bin/catalina.sh

注意:startup.sh调用catalina.sh。您应该在其中一个文件的开头添加设置(在任何初始注释之后)

全局环境变量的标准方法是在其中添加条目/etc/environment(由于该文件不是普通的bash脚本,因此请勿在此文件中使用命令export)

CATALINA_HOME=/path/to/the/root/folder/of/tomcat

不建议

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


5
它应该不是startupor catalina脚本,而是setenv.shor 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容器,第3.4节)
Olathe

22

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

打开终端并运行

sudo -H gedit /etc/environment

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

然后添加像

ANT_HOME="/opt/ANT/"

的样本/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/"

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


6

最佳位置取决于Tomcat的安装方式和安装位置,要使用此设置的应用程序以及范围的全局性。

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


当您说“最佳地点”时,您指的是什么?
jumpnett 2010年

@jumpnett-我的意思是在哪里使设置持久化,以便取决于它的应用程序始终可以使用它。除非您每次都输入此设置感到满意,或者想要编写自己的脚本。
McDowell

3
nano ~/.bashrc

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

export VARNAME=value

链接

我在Ubuntu 16.04上进行了测试。效果很好。


1

阅读有关环境变量的Ubuntu文档之后,我想到了以下解决方法:

##Save & run the following in a shell script,

export ENVIRON_VAR_NAME = Value
# any other initializations like
export PATH=$PWD:$PATH
bash

最后一行创建一个子外壳程序,该子外壳程序从父外壳程序(刚刚设置)继承环境变量值。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.