研究学习 Linux Shell 的系列文章.
这篇文章主要讲 Shell 变量中的环境变量.
文章目录
-
-
- 1. 环境变量
- 2. 常用环境变量
- 3. 语系变量
-
1. 环境变量
??由 Shell 变量及其类型可知,环境变量是 3 种 Shell 变量中的一种类型. 环境变量主要保存的是和系统操作环境相关的数据. 环境变量可以自定义,但是系统使用的的环境变量名和变量作用是固定的.
??环境变量与用户自定义变量的区别:
- 用户自定义变量是局部变量
- 环境变量是全局变量
用户自定义变量只在当前的 Shell 中生效
环境变量在当前 Shell 和这个 Shell 的所有子 Shell 中生效user@ubuntu:~$ bash user@ubuntu:~$ pstree systemd─┬─YDLive───{ YDLive}......├─sshd─┬─sshd───sshd│ └─sshd───sshd───bash───bash───pstree......
用户可以自己定义环境变量,但是对系统生效的环境变量名和变量作用是固定的.
设置环境变量
export 变量名=变量值
或者
变量名=变量值
export 变量名
查看环境变量
?set
:查看所有变量
?env
:查看环境变量
user@ubuntu:~$ export x=123
user@ubuntu:~$ y=456
user@ubuntu:~$ export y
user@ubuntu:~$ bash
user@ubuntu:~$ env
...
...
x=123
y=456
...
...
user@ubuntu:~$
2. 常用环境变量
Linux 系统中环境变量众多,常用的环境变量如下:
- HOSTNAME:主机名
- SHELL:当前的 Shell
- TERM:终端环境
- HISTSIZE:历史命令条数
- SSH_CLIENT:当前操作环境是用 ssh 连接的,这里记录客户端 IP
- SSH_TTY:ssh 连接的终端是 pts/1
- USER:当前登录的用户
- PATH 变量:系统搜索命令的路径
- PATH=path1:path2:path3:…:pathn
- echo $PATH:查看 PATH 环境变量
- PATH="$PATH":/root/sh:添加 PATH 变量的值
- PS1 变量:命令提示符设置.
env
命令无法查看,需要set
命令查看.- \d:显示日期,格式为“星期 月 日”
- \H:显示完成的主机名。如默认主机名 “localhost.localdomain”
- \t:显示24小时制时间,格式为 “HH:MM:SS”
- \A:显示24小时制时间,格式为 “HH:MM”
- \u:显示当前用户名
- \w:显示当前所在目录的完整名称
- \W:显示当前所在目录的最后一个目录
- \$:提示符。如果是 root 用户会显示提示符为 “#”,如果是普通用户会显示提示符为 “$”
3. 语系变量
语系变量是 Linux 环境变量中定义语言环境的的一类变量,主要使用如下所示的两个语系变量:
LANG
:定义系统主语系的环境变量. 当前生效语系LC_ALL
:定义整体语系的环境变量.
?使用locale
命令查询当前系统语系,显示全部语系变量:
user@ubuntu:~$ locale
LANG=en_US.utf8
LANGUAGE=
LC_CTYPE="en_US.utf8"
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=
locale -a | more
:查看 Linux 支持的所有语系
Linux 中文支持
前提条件,正确安装的中文字体和中文语系
- 如果由图形界面,可以正确支持中文显示
- 如果使用第三方远程工具,只要语系设定正确,可以支持中文显示
- 如果使用纯字符界面,必须使用第三方插件(如 zhcon 等)