Linux上环境变量配置分为设置永久变量和临时变量两种。环境变量设置方法同时要考虑环境Shell类型,不同类型的SHELL设置临时变量方法和设置永久变量对应的配置文件不同。Linux环境变量本身配置过程并不复杂,但是一些细节没有注意就可能导致配置的变量不生效。本文针对Linux环境变量主要场景进行描述。包括如下:

  (1)Shell=/bin/bash & 永久变量 & 所有用户/单一用户;

  (2)Shell=/bin/bash & 临时变量;

  (3)Shell=/usr/bin/csh & 永久变量 & 所有用户/单一用户;

  (4)Shell=/usr/bin/csh & 临时变量;

1、Shell=/bin/bash & 永久变量 & 所有用户/单一用户;

Step1:使用echo $SHELL查看当前环境的SHELL类型。

  Step2:在用户当前目录的.profile文件下写入格式"export variable=value"进行环境变量设置。如果当前目录不存在.profile文件,可以使用touch .profile创建文件再执行操作。(说明:此配置文件针对单一用户)

 Step3:在root用户下的/etc/profile文件写入格式"export variable=value"进行环境变量设置。(说明:此配置文件针对所有用户)

 Step4:执行source .profile使新添加的永久变量生效。

 Step5: 使用echo $ORACLE_HOME查看配置的变量生效。

$ echo $SHELL  <-- 查看当前环境SHELL类型
/bin/bash

$ vi .profile <-- 在.profile文件添加ORACLE_HOME变量设置
export $ORACLE_HOME=/home/oracle/base
$ source .profile  <-- 使用source使配置的ORACLE_HOME变量生效

$ echo $ORACLE_HOME  <-- 查看ORACLE_HOME变量配置成功
/home/oracle/base

2、Shell=/bin/bash & 临时变量;

  Step1:使用echo $SHELL查看当前环境的SHELL类型。

  Step2:使用export variable=value设置临时环境变量。注意:临时变量仅对当前SHELL有效,终端重启后需要重新配置。

  Step3:使用echo $ORACLE_HOME查看临时变量生效。

$ echo $ORACLR_BASE  <-- 变量未设置,没有变量值值

$ export ORACLE_BASE="/opt/oracle/base"  <-- 使用export variable=value格式设置临时变量

$ echo $ORACLE_BASE  <-- 变量设置成功,输出变量值
/opt/oracle/base

3、Shell=/usr/bin/csh & 永久变量;

Step1:使用echo $SHELL查看当前环境的SHELL类型。

  Step2:在用户当前目录的.cshrc文件下写入格式"setenv variable value"进行环境变量设置。如果当前目录不存在.cshrc文件,可以使用touch .cshrc创建文件再执行操作。(说明:此配置文件针对单一用户)

  Step3:执行source .cshrc使新添加的永久变量生效。

  Step4: 使用echo $ORACLE_HOME查看配置的变量生效。

$ echo $SHELL  <-- 查看当前环境SHELL类型
/usr/bin/csh

$ vi .cshrc <-- 在.profile文件添加ORACLE_HOME变量设置
setenv ORACLE_HOME /home/oracle/base
$ source .cshrc  <-- 使用source使配置的ORACLE_HOME变量生效

$ echo $ORACLE_HOME  <-- 查看ORACLE_HOME变量配置成功
/home/oracle/base

4、Shell=/usr/bin/csh & 临时变量 ;

   Step1:使用echo $SHELL查看当前环境的SHELL类型。

  Step2:使用variable=value设置临时环境变量。注意:临时变量仅对当前SHELL有效,终端重启后需要重新配置

  Step3:使用echo $ORACLE_HOME查看临时变量生效。

$ echo $ORACLR_BASE  <-- 变量未设置,没有变量值值

$ ORACLE_BASE="/opt/oracle/base"  <-- 使用export variable=value格式设置临时变量

$ echo $ORACLE_BASE  <-- 变量设置成功,输出变量值
/opt/oracle/base