用户环境变量的配置和分析
1. 在/etc/profile文件中添加变量【对所有用户生效(永久的)】 Linux变量可分为两类: 1. 永久的:需要修改配置文件,变量永久生效。 2. 临时的:使用export命令行声明即可,变量在关闭shell时失效。 用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。 例如:编辑/etc/profile文件,添加CLASSPATH变量 # vi /etc/profile export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib 注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。 2. 在用户目录下的.bash.profile文件中增加变量【对单一用户生效(永久的)】 用VI在用户目录下的.bash.profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。 例如:编辑guok用户目录(/home/guok)下的.bash.profile # vi /home/guok/.bash.profile 添加如下内容: export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib 注:修改文件后要想马上生效还要运行#source /home/guok/.bash_profile不然只能在下次重进此用户时生效。 3. 直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】 在shell的命令行下直接使用[export变量名=变量值]定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。 Linux进入系统时自动设置环境变量的方法 2009-05-31 16:56 用Export命令可以设置环境变量,但是如果每回进入系统之后都要重新设置一遍环境变量就很烦人。Linux给大家提供了自动设置环境变量的方法,那就是更改 .bashrc 文件。 一般说来,有两个文件可以提供这种“进入系统时自动设置”的功能,一个是 /etc/bashrc,另一个是 ~/.bashrc。其中/etc/bashrc是被每个用户执行的,而~/.bashrc只被当前用户执行。所以/etc/bashrc只有root用户能更改,而~/.bashrc是各个用户私有的文件。 "~"指的是用户的home目录。 在建立用户时,Linux会为其分配一个目录以供该用户使用。比如对"hjk41",该目录就是"/home/hjk41"。一般用户只能更改这个目录里的文件,这样各个用户之间不会互相干扰。因而 ~/.bashrc文件在这里就是 "/home/hjk41/.bashrc",如果有另外一名叫"hjk42"的用户,那么他的 .bashrc文件就是 "/home/hjk42/.bashrc"。 这样,各个用户有自己独立的".bashrc"文件,可以根据需要自行更改,而不会互相干扰。 /etc/bashrc文件则是共享的,整个Linux中只有一份。一般来说,用户的"~/.bashrc"开头都会调用/etc/bashrc,因此更改/etc/bashrc会影响到所有用户,这个文件一般是root用户管理的。 总之,Linux在用户登录时,会执行相应的.bashrc文件,比如我登录时,就会执行 /home/hjk41/.bashrc ,而这个文件先调用 /etc/bashrc。下面是一个简单的 .bashrc: if [ -f /etc/bashrc ]; then . /etc/bashrc fi export PATH=$PATH:/home/hjk41/bin 前面三行的意思是“如果/etc/bashrc这个文件存在,那么就执行它”,最后一行是我自己加的,用于修改PATH变量。这样每次登录时,环境变量PATH都会自动修改为我需要的样子。 "env" 列出所有环境变量 "source ~/.bashrc" 在更改.bashrc文件后,执行条命令可以使更改立即生效(否则要等下次登录才能看到效果)。 修改个人用户的语言环境变量可以修改。bashrc或者。bash_profile.-bash-3.00# env HOSTNAME=example
............. LANG=en_US.UTF-8
修改后:
QUOTE: -bash-3.00# env HOSTNAME=example
............. LANG=en_US.UTF-8
LANG=zh_CN.gbk