Linux(入门基础):52---变量的查看(env、set、declare、export、locale)

一、env命令

1.功能

  • 可以查看Linux系统的环境变量

2.查看

Linux(入门基础):52---变量的查看(env、set、declare、export、locale)

一些重要的环境变量

  • HOME:用户的家目录
  • SHELL:这个环境素哟使用的SHELL程序
  • HISTSIZE:这个与历史命令有关,曾经执行过的命令都会被记录下来。此项代表可以容纳多少条历史命令
  • MAIL:我们使用mail命令收信时,系统会去读取的邮箱文件
  • PATH:执行文件查找的路径,文件查找的顺序与PATH的变量的顺序有关,目录与目录中间以:冒号隔开
  • LANG:当前的语系类型
  • RANDOM:随机数的变量

二、set、delcare命令

set与declare查看变量的功能相同,下面只介绍set

1.功能

  • 可以观察所有的变量(包含环境变量、与操作界面有关的变量与自定义变量),比env更全

2.查看

因为内容过多,此处配合more命令进行查看

Linux(入门基础):52---变量的查看(env、set、declare、export、locale)

一些比较重要的环境变量:

  • PS1:命令提示字符格式。就是我们命令行最前面的命令提示符,可以修改。不同的Linux版本与系统可能内容会不同。命令提示符中的一些特殊字符含义如下

Linux(入门基础):52---变量的查看(env、set、declare、export、locale)

\d 可显示出【星期\月\日】这种格式,例如:Mon Feb 2
\H 完整的主机名
\h 仅去主机名在第一个小数点之前的名字
\t 显示时间。为24小时格式HH:MM:SS
\T 显示时间,为12小时格式HH::MM:SS
\A 显示时间,为24小时格式的HH:MM
\@ 显示时间,为12小时格式的am/pm格式
\u 目前用户的账号名称,如dongshao

\v

BASH的版本信息。例如:4.2.46版本的,仅取4.2显示
\w 完整的工作目录
\W 利用basename函数取得工作目录名称,所以仅会列出最后一个目录名
\# 会显示一个数字,表示当前执行的命令为第几次执行的命令
\$ 提示字符,如果是root时,提示字符为#,否则就为$

更改PS1的格式,更改完之后,可以看到最前面命令提示符的格式改变

PS1='[\[email protected]\h \w \A #\#]\$ '

Linux(入门基础):52---变量的查看(env、set、declare、export、locale)

  • $:美元符号本身也是个变量,代表当前面shell的进程号,就是PID。使用echo ${$}可以查看当前的进程号
  • ?:问号也是个变量,代表上一次执行命令的返回值。如果上一次命令执行成功,返回0值?为0,如果上一次命令执行失败,返回非0值?为非0值

Linux(入门基础):52---变量的查看(env、set、declare、export、locale)

  • OSTYPE、HOSTTYPE、MACHTYPE:这几个变量代表主机硬件与内核的等级信息

三、export

1.功能

  • export功能之一可以设置环境变量
  • 另外一个功能就是显示所有的环境变量,比env更详细。也正是此篇文章介绍的内容

2.演示

Linux(入门基础):52---变量的查看(env、set、declare、export、locale)

四、locale命令

1.功能

  • locale -a:查看当前Linux系统支持的语系
  • locale:查看当前各种语系变量的设置值

2.案例

  • 当使用-a参数时,可以查看当前Linux支持的语系(图片有所省略)

zh_CN.utf8:Unicode的简体中文编码

Linux(入门基础):52---变量的查看(env、set、declare、export、locale)

  • 单独使用locale时,可以查看各种语系变量所使用的语系

LANG变量:代表主语言环境所使用的语系

LC_TYPE变量:代表字符(文字)辨识的编码

LC_NUMERIC变量:数字系统的显示数据

......其他语系变量省略介绍

Linux(入门基础):52---变量的查看(env、set、declare、export、locale)

3.语系变量的设置

  • 前提:我们设置语系变量时,一般建议更改LANG与LC_ALL这两个变量,因为设置这两个变量,其他语系变量都会替换成LANG与LC_ALL这两个变量的值。所以更改语系,一般建议修改LANG与LC_ALL
  • 注意事项:设置语系环境变量,只在此次命令行执行中有效,退出后失效,又恢复成原样
  • 方法:LANG直接用=号赋值即可。LC_ALL需要使用export设置

我们设置LANG=zh_CN.UTF-8,发现其他的变量都变成zh_CN.UTF-8

Linux(入门基础):52---变量的查看(env、set、declare、export、locale)Linux(入门基础):52---变量的查看(env、set、declare、export、locale)

在设置LC_ALL=en_US.UTF-8,发现其他的变量都变成了en_US.UTF-8

Linux(入门基础):52---变量的查看(env、set、declare、export、locale)