linux 环境变量
2014-08-01 17:04
120 查看
原文链接:http://blog.csdn.net/zxt6405/article/details/6235558
一、linux下环境变量的定义
首先,环境变量分为两种,系统环境变量和用户环境变量。
系统环境变量对所有用户都有效,二用户环境变量只对某个用户有效。
linux下,环境变量被分别保存在多个文件中。
第一级:
/etc/profile
该文件在用户第一次登录的时候被加载(?引用他处,为什么是第一次登录),也是操作系统定义环境变量时读取的第一个文件。
此文件为所有的用户设置环境信息。
在我使用的Ubuntu 10.10中,该文件默认并没有直接定义全局变量,而是通过读取/etc/profile.d 、/etc/profile.d/*.sh和/etc/bash.bashrc。
第二级:
/etc/environment
该文件是用户在登录操作系统之后,操作系统配置环境时所使用的第二个文件。
顾名思义,该文件中保存了一系列环境变量,这些变量将对所有的用户和终端起效。
到这一级为止,文件定义的都是系统环境变量,之后的文件都是在定义用户变量。
第三级:
~/.bash_profile
在登录的时候配置环境所用到的第三个文件。
值得注意的是在不同linux中,这个文件的名字不同,可能的名字有~/.bash_profile、~/.bash_login、~./profile其中的一种或者几种。如果存在的话,执行的顺序为~/.bash_profile、~/.bash_login、~/.profile。
在我手里的Ubuntu10.10中,只有一个~/.profile
在我的操作系统中,该文件定义了变量的使用,通常情况下第四级中的~/.bashrc被忽略。
第四级:
~/.bashrc
该文件包含了专用于一个用户的bash的环境信息,每次登录或者新开shell的时候(包括在图形界面下打开新的终端),该文件被读取。
该文件只会在新开的终端中起效。原有终端不会受到影响。
~/.bash_logout
该文件在每次退出bash的时候被执行。
二、linux下环境变量的使用
1、shell命令
set显示当前shell的变量,包括了当前用户的变量。
注意,"shell的变量"包括当前用户的一系列文件以及shell自身的变量,比如BASH、BASH_ARGC等。
shell变量的定义可以通过直接输入命令"aaa=bbb",来实现定义变量aaa的值为bbb。
在我手中的Ubuntu10.10中这个命令如果不带参数直接执行的话,不会显示变量,而是显示了大量的代码。
若要查询某个shell变量的值,可以使用命令"set|grep 变量名"。
env则只显示当前用户的变量。
export若不带参数则显示用户变量的shell变量,若带参数,则将该shell参数添加至用户变量。
readonly命令可以将变量设定为只读,只读的参数不能被修改或者删除。
2、C程序命令
getenv()返回一个环境变量。
setenv()设置一个环境变量。
unsetenv()清除一个环境变量。
3、常见的环境变量
PATH:决定了shell将在哪些目录中寻找命令和程序
HOME:当前用户的主目录
MAIL:当前用户的邮件存放目录
SHELL:当前用户用的是那种Shell
HISTSIZE:保存历史命令记录的条数
LOGNAME:当前用户的登录名
HOSTNAME:主机的名称。
LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量
PS1:基本提示符,对于root是#,对于普通用户为$,在我手中的ubuntu10.10中则是一个字符串,显示了用户名、系统名和当前目录名在内的信息。
PS2:是附属提示符,默认是">"。可以修改此环境变量来修改当前的命令符。
一、linux下环境变量的定义
首先,环境变量分为两种,系统环境变量和用户环境变量。
系统环境变量对所有用户都有效,二用户环境变量只对某个用户有效。
linux下,环境变量被分别保存在多个文件中。
第一级:
/etc/profile
该文件在用户第一次登录的时候被加载(?引用他处,为什么是第一次登录),也是操作系统定义环境变量时读取的第一个文件。
此文件为所有的用户设置环境信息。
在我使用的Ubuntu 10.10中,该文件默认并没有直接定义全局变量,而是通过读取/etc/profile.d 、/etc/profile.d/*.sh和/etc/bash.bashrc。
第二级:
/etc/environment
该文件是用户在登录操作系统之后,操作系统配置环境时所使用的第二个文件。
顾名思义,该文件中保存了一系列环境变量,这些变量将对所有的用户和终端起效。
到这一级为止,文件定义的都是系统环境变量,之后的文件都是在定义用户变量。
第三级:
~/.bash_profile
在登录的时候配置环境所用到的第三个文件。
值得注意的是在不同linux中,这个文件的名字不同,可能的名字有~/.bash_profile、~/.bash_login、~./profile其中的一种或者几种。如果存在的话,执行的顺序为~/.bash_profile、~/.bash_login、~/.profile。
在我手里的Ubuntu10.10中,只有一个~/.profile
在我的操作系统中,该文件定义了变量的使用,通常情况下第四级中的~/.bashrc被忽略。
第四级:
~/.bashrc
该文件包含了专用于一个用户的bash的环境信息,每次登录或者新开shell的时候(包括在图形界面下打开新的终端),该文件被读取。
该文件只会在新开的终端中起效。原有终端不会受到影响。
~/.bash_logout
该文件在每次退出bash的时候被执行。
二、linux下环境变量的使用
1、shell命令
set显示当前shell的变量,包括了当前用户的变量。
注意,"shell的变量"包括当前用户的一系列文件以及shell自身的变量,比如BASH、BASH_ARGC等。
shell变量的定义可以通过直接输入命令"aaa=bbb",来实现定义变量aaa的值为bbb。
在我手中的Ubuntu10.10中这个命令如果不带参数直接执行的话,不会显示变量,而是显示了大量的代码。
若要查询某个shell变量的值,可以使用命令"set|grep 变量名"。
env则只显示当前用户的变量。
export若不带参数则显示用户变量的shell变量,若带参数,则将该shell参数添加至用户变量。
readonly命令可以将变量设定为只读,只读的参数不能被修改或者删除。
2、C程序命令
getenv()返回一个环境变量。
setenv()设置一个环境变量。
unsetenv()清除一个环境变量。
3、常见的环境变量
PATH:决定了shell将在哪些目录中寻找命令和程序
HOME:当前用户的主目录
MAIL:当前用户的邮件存放目录
SHELL:当前用户用的是那种Shell
HISTSIZE:保存历史命令记录的条数
LOGNAME:当前用户的登录名
HOSTNAME:主机的名称。
LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量
PS1:基本提示符,对于root是#,对于普通用户为$,在我手中的ubuntu10.10中则是一个字符串,显示了用户名、系统名和当前目录名在内的信息。
PS2:是附属提示符,默认是">"。可以修改此环境变量来修改当前的命令符。
相关文章推荐
- linux下JSP相关环境变量的设置(20060111)
- Linux的环境变量PATH中所带来的问题
- Linux下设置Java环境变量
- Linux下设置环境变量的两种常用方式
- 如何永久设置linux环境变量
- (转载)定制Linux系统环境变量
- linux的环境变量之 .bash_profile和.bashrc
- linux下JAVA环境变量的设置
- linux日积月累之环境变量设置
- linux环境变量设置及保存地点(转)
- [导入]Linux-使环境变量马上生效的命令
- 在Linux下Jdk的安装和Java环境变量的设置[转载]
- linux下JDK的安装和环境变量的配置
- linux下环境变量设置
- 定制linux下环境变量
- Linux下共享库(SO)有关的几个环境变量
- linux下java环境变量的设置
- 在linux下修改环境变量
- linux环境变量设置及保存地点
- 设置Linux的环境变量