CentOS7设置环境变量

目录

  • 一、环境变量的概念

    • 1、环境变量的含义
    • 2、环境变量的分类
    • 3、Linux环境变量
  • 二、常用的环境变量
    • 1、查看环境变量
    • 2、常用的环境变量
  • 三、设置环境量
    • 1、系统环境变量
    • 2、用户环境变量
    • 3、环境变量脚本文件的执行顺序
  • 四、重要环境变量的详解
    • 1、PATH环境变量
    • 2、LANG环境变量
    • 3、LD_LIBRARY_PATH环境变量
    • 4、CLASSPATH
  • 五、环境变量的生效
  • 六、应用经验
  • 七、版权声明

一、环境变量的概念

1、环境变量的含义

程序(操作系统命令和应用程序)的执行都需要运行环境,这个环境是由多个环境变量组成的。

2、环境变量的分类

1)按生效的范围分类。

系统环境变量:公共的,对全部的用户都生效。

用户环境变量:用户私有的、自定义的个性化设置,只对该用户生效。

2)按生存周期分类。

永久环境变量:在环境变量脚本文件中配置,用户每次登录时会自动执行这些脚本,相当于永久生效。

临时环境变量:使用时在Shell中临时定义,退出Shell后失效。

3、Linux环境变量

Linux环境变量也称之为Shell环境量变,以下划线和字母打头,由下划线、字母(区分大小写)和数字组成,习惯上使用大写字母,例如PATH、HOSTNAME、LANG等。

二、常用的环境变量

1、查看环境变量

1)env命令

在Shell下,用env命令查看当前用户全部的环境变量。

上图只截取了部分环境变量,并非全部。

用env命令的时候,满屏显示了很多环境变量,不方便查看,可以用grep筛选。

env|grep 环境变量名

例如查看环境变量名中包含PATH的环境变量。

env|grep PATH

2)echo命令

echo $环境变量名

注意,符号$不能缺少,这是语法规定。

2、常用的环境变量

1)PATH

可执行程序的搜索目录,可执行程序包括Linux系统命令和用户的应用程序,PATH变量的具体用法本文后面的章节中有详细的介绍。

2)LANG

Linux系统的语言、地区、字符集,LANG变量的具体用法本文后面的章节中有详细的介绍。

3)HOSTNAME

服务器的主机名。

4)SHELL

用户当前使用的Shell解析器。

5)HISTSIZE

保存历史命令的数目。

6)USER

当前登录用户的用户名。

7)HOME

当前登录用户的主目录。

8)PWD

当前工作目录。

9)LD_LIBRARY_PATH

C/C++语言动态链接库文件搜索的目录,它不是Linux缺省的环境变量,但对C/C++程序员来说非常重要,具体用法本文后面的章节中有详细的介绍。

10)CLASSPATH

JAVA语言库文件搜索的目录,它也不是Linux缺省的环境变量,但对JAVA程序员来说非常重要,具体用法本文后面的章节中有详细的介绍。

三、设置环境量

变量名=‘值‘
export 变量名

export 变量名=‘值‘

如果环境变量的值没有空格等特殊符号,可以不用单引号包含。

示例:

export ORACLE_HOME=/oracle/home
export ORACLE_BASE=/oracle/base
export ORACLE_SID=snorcl11g
export NLS_LANG=‘Simplified Chinese_China.ZHS16GBK‘
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:.

采用export设置的环境变量,在退出Shell后就会失效,下次登录时需要重新设置。如果希望环境变量永久生效,需要在登录脚本文件中配置。

1、系统环境变量

系统环境变量对全部的用户生效,设置系统环境变量有三种方法。

1)在/etc/profile文件中设置。

用户登录时执行/etc/profile文件中设置系统的环境变量。但是,Linux不建议在/etc/profile文件中设置系统环境变量。

2)在/etc/profile.d目录中增加环境变量脚本文件,这是Linux推荐的方法。

/etc/profile在每次启动时会执行/etc/profile.d下全部的脚本文件。/etc/profile.d比/etc/profile好维护,不想要什么变量直接删除/etc/profile.d下对应的 shell 脚本即可。

/etc/profile.d目录下有很多脚本文件,例如:

在以上示例中,/etc/profile.d目录中的oracle.sh是Oracle数据库的环境变量配置文件,内容如下:

3)在/etc/bashrc文件中设置环境变量。

该文件配置的环境变量将会影响全部用户使用的bash shell。但是,Linux也不建议在/etc/bashrc文件中设置系统环境变量。

2、用户环境变量

用户环境变量只对当前用户生效,设置用户环境变量也有多种方法。

在用户的主目录,有几个特别的文件,用ls是看不见的,用 ls .bash_* 可以看见。

1).bash_profile(推荐首选)

当用户登录时执行,每个用户都可以使用该文件来配置专属于自己的环境变量。

2).bashrc

当用户登录时以及每次打开新的Shell时该文件都将被读取,不推荐在里面配置用户专用的环境变量,因为每开一个Shell,该文件都会被读取一次,效率肯定受影响。

3).bash_logout

当每次退出系统(退出bash shell)时执行该文件。

4).bash_history

保存了当前用户使用过的历史命令。

3、环境变量脚本文件的执行顺序

环境变量脚本文件的执行顺序如下:

/etc/profile->/etc/profile.d->/etc/bashrc->用户的.bash_profile->用户的.bashrc

同名的环境变量,如果在多个脚本中有配置,以最后执行的脚本中的配置为准。

还有一个问题需要注意,在/etc/profile中执行了/etc/profile.d的脚本,代码如下:

for i in /etc/profile.d/*.sh ; do
    if [ -r "$i" ]; then
        if [ "${-#*i}" != "$-" ]; then
            . "$i"
        else
            . "$i" >/dev/null
        fi
    fi
done

所以,/etc/profile.d和/etc/profile的执行顺序还要看代码怎么写。

四、重要环境变量的详解

1、PATH环境变量

可执行程序的搜索目录,可执行程序包括Linux系统命令和用户的应用程序。如果可执行程序的目录不在PATH指定的目录中,执行时需要指定目录。

1)PATH环境变量存放的是目录列表,目录之间用冒号:分隔,最后的圆点.表示当前目录。

export PATH=目录1:目录2:目录3:......目录n:.

2)PATH缺省包含了Linux系统命令所在的目录(/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin),如果不包含这些目录,Linux的常用命令也无法执行(要输入绝对路径才能执行)。

示例:

3)在用户的.bash_profile文件中,会对PATH进行扩充,如下:

export PATH=$PATH:$HOME/bin

4)如果PATH变量中没有包含圆点.,执行当前目录下的程序需要加./或使用绝对路径。

示例:

2、LANG环境变量

LANG环境变量存放的是Linux系统的语言、地区、字符集,它不需要系统管理员手工设置,/etc/profile会调用/etc/profile.d/lang.sh脚本完成对PATH的设置。

CentOS6.x 字符集配置文件在/etc/syscconfig/i18n文件中。

CentOS7.x 字符集配置文件在/etc/locale.conf文件中,内容如下:

3、LD_LIBRARY_PATH环境变量

C/C++语言动态链接库文件搜索的目录,它不是Linux缺省的环境变量,但对C/C++程序员来说非常重要。

LD_LIBRARY_PATH环境变量存放的也是目录列表,目录之间用冒号:分隔,最后的圆点.表示当前目录,与PATH的格式相同。

export LD_LIBRARY_PATH=目录1:目录2:目录3:......目录n:.

4、CLASSPATH

JAVA语言库文件搜索的目录,它也不是Linux缺省的环境变量,但对JAVA程序员来说非常重要。

CLASSPATH环境变量存放的也是目录列表,目录之间用冒号:分隔,最后的圆点.表示当前目录,与PATH的格式相同。

五、环境变量的生效

1)在Shell下,用export设置的环境变量对当前Shell立即生效,Shell退出后失效。

2)在脚本文件中设置的环境变量不会立即生效,退出Shell后重新登录时才生效,或者用source命令让它立即生效,例如:

source /etc/profile

六、应用经验

虽然设置环境变量的方法有多种,但是建议系统环境变量建议在/etc/profile.d目录中配置,用户环境变量在用户的.bash_profile中配置,不建议在其它脚本文件中配置环境变,会增加运维的麻烦,容易出错。

七、版权声明

C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。

来源:C语言技术网(www.freecplus.net)

作者:码农有道

如果文章有错别字,或者内容有错误,或其他的建议和意见,请您留言指正,非常感谢!!!

原文地址:https://www.cnblogs.com/wucongzhou/p/12579468.html

时间: 2024-10-10 08:27:22

CentOS7设置环境变量的相关文章

Asp.Net Core 如何在 IIS 中设置环境变量

当运行一个 Asp.Net Core 应用的时候, WebHostBuilder 根据环境变量来判断当前运行的是哪个环境,可能是 Development,Staging或者Production.你也可以设置成随便的一个字符串. 这个链接将会告诉你 如何在各种平台各种环境中设置环境变量.但如果你使用 IIS来代理 Asp.Net Core.你需要在 web.config 中设置环境变量 <configuration> <system.webServer> <handlers&g

Ubuntu设置环境变量并立即生效

Ubuntu Linux系统包含两类环境变量:系统环境变量和用户环境变量.系统环境变量对所有系统用户都有效,用户环境变量仅仅对当前的用户有效. 修改用户环境变量 用户环境变量通常被存储在下面的文件中: ~/.profile ~/.bash_profile 或者 ~./bash_login ~/.bashrc 上述文件在Ubuntu 10.0以前版本不推荐使用. 系统环境变量 系统环境变量一般保存在下面的文件中: /etc/environment /etc/profile /etc/bash.ba

C语言的编译过程、安装gcc编译器以及设置环境变量

以我对C语言编译过程的了解,我用了一点时间画了一个图,提供给大家参考一下,希望有些能对您的问题提上帮助. 前几天刚初步学习了C语言的编译过程,感触挺深的.在C语言中头文件其实起了一个很大的作用. 1.头文件可以不需要编译 2.可以查看具体的声明 3.头文件加上实现文件的o文件提交给使用者即可 ,不需要知道源代码 4..o文件预先编译,所以整个项目编译时,会大大提高编译的时间 . 5.当一个文件(A.c文件)依赖于头文件(b.h)时 ,如果b.c编译之后形成的b.o文件重新编译后,a.o的文件不需

为什么要设置环境变量,环境变量有什么用?

比如说你要执行 java 命令,你不设置环境变量path包括你的jdk安装路径,那系统去哪找你的java.exe文件. 如果执行某个命令,系统无法在当前文件夹里找到对应的.exe,那么系统就会去path包含的路径找挨个找看是否能知道对应的.exe,一旦找到第一个对应的.exe就运行命令,其他的路径下就不找了.如果找不到你就会看到“系统找不到某某命令”的提示. 其他的环境变量也一样的用途,只不过是用来存储一些信息用的,这些信息可以被系统使用,也可以被你的应用程序使用 环境变量可以看成是计算机的全局

java安装及设置环境变量

目录: java安装 (找不到或无法加载主类 com.sun.tools.javac.Main) 设置环境变量 1. java安装 情景:不使用默认安装 问题:cmd-javac 找不到或无法加载主类 com.sun.tools.javac.Main 解决:卸载,重新安装:jdk和jre不能装在一个文件夹下. e.g. jdk -- D:\program\Java\jdk1.7.0_79       jre -- D:\program\Java\jre7 原因:安装jdk过程中,还会弹出一个jr

MAC 设置环境变量path的几种方法

mac 一般使用bash作为默认shell Mac系统的环境变量,加载顺序为: /etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc 当然/etc/profile和/etc/paths是系统级别的,系统启动就会加载,后面几个是当前用户级的环境变量.后面3个按照从前往后的顺序读取,如果~/.bash_profile文件存在,则后面的几个文件就会被忽略不读了,如果~/.bash_profile文件不存在,

【java】Windows7 下设置环境变量

Windows 7下配置JDK环境变量參数设置: 1.    安装JDK,安装过程中能够自己定义安装文件夹等信息,比如我们选择安装文件夹为:D:\Program Files (x86)\Java\jdk1.6.0_25 2.    安装完毕后,右击"我的电脑",点击"属性",单击"高级系统设置",点击"环境变量",如图: 4.    在"系统变量"中,设置3项属性,JAVA_HOME,PATH,CLASSP

Java新手安装jdk设置环境变量必备!

众说周知,java开发的第一步就是要成功安装jdk,但配置环境出现的问题层出不穷,这里介绍设置环境变量的三部曲: JAVA_HOME:C:\Program Files\Java\jdk1.7.0_80     注:这个地方填写jdk的安装目录(个人建议安装jdk时一路默认路径,不要做修改,也占不了多少C盘) CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar    注: 这个地方无需变动 path:%JAVA_HOME%\bi

如何设置环境变量

首先强烈推荐一款免费的c++的IDE----code:block,免费的且自带了MinGW编译器. 自己可以设置字体及大小,一般设置成12号比较合适.直接在界面上的Setting-->Editor,在右上角上有一个choose,然后就可以选择字体,字形和大小了. 若是选择了默认安装的.则在C:\Program Files\CodeBlocks里,就有MinGW了. 那么问题来了,如何设置环境变量?? 右击我的电脑,点属性->高级系统设置->环境变量.然后: 1.在PATH里加入C:\Mi