Linux 环境变量简介

参考文献:https://blog.51cto.com/2833481/2154921

目录

一、简介说明

二、什么是环境变量

三、Linux系统环境变量配置文件有哪些:

系统级

用户级

前面是从系统和用户级来划分环境变量。 若按照变量的生存周期来划分,那么变量就可以分为:

若按照环境变量自身的信息来划分,则可以分为:

四、Linux设置环境变量的方法

1、在/etc/profile文件中添加变量 对所有用户生效(永久的)

二、在用户目录下的.bash_profile文件中增加变量 【对单一用户生效(永久的)】

三、直接运行export命令定义变量 【只对当前shell(BASH)有效(临时的)】

五、Linux环境变量使用

1、Linux中常见的环境变量有:

PATH:指定命令的搜索路径

HOME:指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)。

HISTSIZE:指保存历史命令记录的条数。

LOGNAME:指当前用户的登录名。

HOSTNAME:指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的

SHELL:指当前用户用的是哪种Shell。

LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。

MAIL:指当前用户的邮件存放目录。

2、Linux也提供了修改和查看环境变量的命令,下面通过几个实例来说明:

echo 显示某个环境变量值 echo $PATH

export 设置一个新的环境变量 export HELLO="hello" (可以无引号)

env 显示所有环境变量

set 显示本地定义的shell变量

unset 清除环境变量 unset HELLO

readonly 设置只读环境变量 readonly HELLO

3、C程序调用环境变量函数

getenv()返回一个环境变量。

setenv()设置一个环境变量。

unsetenv()清除一个环境变量。

六、参考文献:

Shell环境变量一览表


一、简介说明

       在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件,类似的错误。

       在linux系统下,如果下载并安装了应用程序,在启动时很有可能在键入它的名称时出现"command not found"的提示内容。如果每次都到安装目标文件夹内,找到可执行文件来进行操作就太繁琐了,这种情况下就涉及到环境变量PATH的设置问题,而PATH的设置也是在linux下定制环境变量的一个组成部分

二、什么是环境变量

        简单说,就是指定一个目录,运行软件的时候,相关的程序将会按照该目录寻找相关文件。 设置变量对于一般人最实用的功能就是: 不用拷贝某些dll文件到系统目录中了,而path 这一系统变量就是系统搜索dll文件的一系列路径

Linux 和 Windows 系统相似,在安装许多软件的时候是需要去配置环境变量。同样,在 Linux 里也是需要去配置相应的环境变量。而在 Linux 中的环境变量主要是系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是用户使用系统时加载的环境变量。

三、Linux系统环境变量配置文件有哪些:

系统级

  • /etc/profile : 在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。 
  • /etc /environment : 在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。
  • /etc/bashrc : 为每一个运行bash shell的用户执行此文件。当bash shell被打开时,该文件被读取. 

用户级

  • ~/.bash_profile(或.profile) :  在登录时用到的第三个文件 是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
  • ~/.bashrc : 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。 

前面是从系统和用户级来划分环境变量。 若按照变量的生存周期来划分,那么变量就可以分为:

  • 永久的:需要修改配置文件,变量永久生效。
  • 临时的:用户利用export命令,在当前终端下声明环境变量,关闭Shell终端失效。

若按照环境变量自身的信息来划分,则可以分为:

  • 当前 shell 进程私有用户自定义变量。此时变量只在当前 shell 中有效

  • shell 自身的內建变量

  • 从自定义变量导出的环境变量

四、Linux设置环境变量的方法

1、在/etc/profile文件中添加变量 对所有用户生效(永久的)

用vim在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。

例如:编辑/etc/profile文件,添加CLASSPATH变量:

 vim /etc/profile    
 export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

注:修改文件后要想马上生效还要运行source /etc/profile不然只能在下次重进此用户时生效。

二、在用户目录下的.bash_profile文件中增加变量 【对单一用户生效(永久的)】

vim ~/.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。

vim ~/.bash.profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

注:修改文件后要想马上生效还要运行$ source ~/.bash_profile不然只能在下次重进此用户时生效。

三、直接运行export命令定义变量 【只对当前shell(BASH)有效(临时的)】

在shell的命令行下直接使用:

export 变量名=变量值

定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。

五、Linux环境变量使用

1、Linux中常见的环境变量有:

  • PATH:指定命令的搜索路径

PATH声明用法:
PATH=$PAHT:<PATH 1>:<PATH 2>:<PATH 3>:--------:< PATH n >
export PATH
你可以自己加上指定的路径,中间用冒号隔开。环境变量更改后,在用户下次登陆时生效。
可以利用echo $PATH查看当前当前系统PATH路径。

  • HOME:指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)。

  • HISTSIZE:指保存历史命令记录的条数。

  • LOGNAME:指当前用户的登录名。

  • HOSTNAME:指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的

  • SHELL:指当前用户用的是哪种Shell。

  • LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。

  • MAIL:指当前用户的邮件存放目录。

注意:上述变量的名字并不固定,如HOSTNAME在某些Linux系统中可能设置成HOST

2、Linux也提供了修改和查看环境变量的命令,下面通过几个实例来说明:

  • echo 显示某个环境变量值 echo $PATH

  • export 设置一个新的环境变量 export HELLO="hello" (可以无引号)

  • env 显示所有环境变量

  • set 显示本地定义的shell变量

  • unset 清除环境变量 unset HELLO

  • readonly 设置只读环境变量 readonly HELLO

3、C程序调用环境变量函数

  • getenv()返回一个环境变量。

  • setenv()设置一个环境变量。

  • unsetenv()清除一个环境变量。

六、参考文献:

http://www.2cto.com/os/201211/165769.html
http://www.linuxidc.com/Linux/2011-03/33197.htm
http://www.cnblogs.com/Neddy/archive/2011/03/01/1968018.html

Shell环境变量一览表

http://c.biancheng.net/view/2938.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值