Linux 环境变量设置过程以及注意事项

一、Linux的变量种类

按变量的生存周期来划分,Linux变量可分为两类:
1. 永久的:需要修改配置文件,变量永久生效。
2. 临时的:使用export命令行声明即可,变量在关闭shell时失效。

按照变量类型分:

内部变量:系统提供,不用定义,不能修改
环境变量:系统提供,不用定义,可以修改,可以利用export将用户变量转为环境变量.
用户变量:用户定义,可以修改

二、设置变量的三种方法

1. 在/etc/profile文件中添加变量【对所有用户永久生效】

vi /etc/profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
source /etc/profile 或者. /etc/profile【立即生效,不执行该语句则下次(重启)重新进入生效】

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

用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。
例如:编辑victor用户目录(/home/victor)下的.bash_profile
$ vi /home/victor/.bash_profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lie
source /home/victor/.bash_profile 不然只能在下次(重启)重进此用户时生效

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

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

三、设置Linux服务器编码

有时候uwsgi部署会出现ascii error问题,原因是Linux的编码集不对

locale  命令查询环境变量:

# locale
LANG=zh_CN.UTF-8
LANGUAGE=zh_CN:zh:en_US:en
LC_CTYPE=zh_CN.UTF-8
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=

 

set: 用来显示本地变量,显示当前shell的变量,包括当前用户的变量
env: 用来显示环境变量,显示当前用户的变量。
export: 用来显示和设置环境变量, 显示当前导出成用户变量的shell变量

重新设置LANGUAGE,但是终端关闭即失效

env LANG="zh_CN.UTF-8" 
env LANGUAGE="zh_CN.UTF-8"

unset LANGUAGE
export LANGUAGE="zh_CN.UTF-8"
locale

vi /etc/profile
export LANGUAGE="zh_CN.UTF-8"
source /etc/profile
locale

 

posted @ 2018-11-08 11:45  Adamanter  阅读(464)  评论(0编辑  收藏  举报