一、知识框架总览
1. 环境变量基础概念
1)定义
环境变量是程序外部预先定义的名称=值键值对,Shell用来存储会话、系统环境信息,所有脚本/程序可快速读取;bash分为全局环境变量、局部环境变量两类。
2)命名规范
系统内置环境变量统一全大写;自定义变量建议小写,避免覆盖系统变量;赋值变量=值,等号两侧不能有空格;带空格字符串需单/双引号包裹。
2. 全局变量 vs 局部变量
| 类型 | 作用范围 | 查看命令 | 创建方式 |
| 全局环境变量 | 当前Shell + 所有子Shell | env / printenv | 先定义局部变量,export 变量名导出 |
| 局部环境变量 | 仅当前Shell,子Shell不可见 | set(输出所有变量,含局部+全局) | 直接赋值:var=xxx |
注:关键特性
1)子Shell修改全局导出变量,不会影响父Shell原值;
2)临时创建的全局/局部变量重启Shell后失效,写入启动文件永久生效。
3)查看、读取变量命令实操
①env:只输出全部全局环境变量
②printenv:查看全局变量,printenv HOME查看单个变量
③echo $变量名:打印变量值,引用变量必须加$
④set:输出当前Shell全部变量(全局+局部+自定义)
3. bash内置默认环境变量(常用)
| 变量 | 作用 |
HOME | 当前用户家目录 |
PATH | 命令搜索路径 |
PWD | 当前工作目录 |
PS1 | 终端主提示符 |
RANDOM | 生成0~32767随机数 |
UID/EUID | 用户真实ID/有效ID |
IFS | 字符串分隔符 |
用户邮件文件路径 |
二、实操过程截图
1.查看、读取变量
2.自定义局部变量
3.自定义全局变量
4.删除环境变量 unset
5.PATH环境变量(命令搜索路径)
6.永久保存环境变量(Shell启动文件)
7.Shell — 维数组变量