环境变量

环境变量是作用在整个系统中的变量。

很多软件工作的时候都要读取环境变量[21]的值来确定其工作方式。例如 cd 这个程序,如果不带任何选项执行,它会读取 $HOME 这个变量的值,然后进入到这个目录,也就是用户的 HOME 目录。使用 echo 显示一个环境变量:

echo $HOME1
/home/user  

echo HOME 2
HOME 

1

依据惯例,变量名称通常使用大写字母;$ 告诉 echo 这是一个变量,不要将字符串“HOME”直接输出到屏幕

2

输出字符串“HOME”到屏幕

 

WELCOME="Hello!"1
echo $WELCOME 2
Hello!
env3 | grep WELCOME4 
export WELCOME 5
env | grep WELCOME 
Hello! 

1

定义一个变量

2

输出这个变量

3

env 输出所有环境变量

4

将输出通过管道发送到 grep,检查其中是否有“WELCOME”这个值

5

export 将变量 WELCOME 导出为环境变量

定义一个环境变量,可以将定义变量和导出变量一起进行

export WELCOME1 ="Hello!"  

1

实际上不会有什么程序要用到 $WELCOME 这个变量,定义它只是为了演示

常用环境变量

变量名 说明
SHELL 默认 Shell
HISTSIZE 历史纪录
PATH 搜索路径
EDITOR 默认编辑器
TERM 默认终端
HOME 用户目录
LANG 系统语言
XMODIFIERS=@im 默认输入法


[21] 必须由大量不同程序共享,独立于应用程序的优先选项,通常由环境变量指定,
  如果通过配置文件给每个程序分别指定,既麻烦又容易出差错。
  例如语言环境,如果所有能够使用多语言的程序都使用自己的配置文件确定其工作界面的语言,逐一去修改它们的配置文件将是一件苦恼的事情