【Linux 局部 / 全局环境变量 数组完整实操教程(Xshell+VMware 实操)】
前言大家好我是刚学 Linux 的大一新生平时用 Xshell 远程连接 VMware 里的 Ubuntu 虚拟机上课。本次实验完整实操了局部变量、临时全局变量、永久全局环境变量、PATH 路径配置、Shell 数组、变量删除全部知识点所有命令均在终端真实执行并附上截图整理成体系化笔记方便复习。一、核心概念知识框架1. 局部变量本地变量定义仅存在当前 Shell 会话子 Shell、新开终端、关闭终端全部失效定义语法变量名值等号两侧不能加空格特性子进程无法读取仅当前终端可用查看echo $变量名、set查看所有局部 全局变量2. 临时全局环境变量export 导出定义使用export修饰变量当前会话 所有子 Shell 均可读取定义语法变量名值 export 变量名 # 合并写法 export 变量名值特性关闭终端自动销毁仅本次会话生效查看env、export仅打印全局环境变量3. 永久全局环境变量写入自启动文件Shell 启动文件~/.bashrc交互式终端打开终端自动加载原理每次新开终端系统自动读取.bashrc内export变量永久生效生效命令修改文件后执行source ~/.bashrc不用重启终端编辑工具vim ~/.bashrc4. PATH 环境变量作用Shell 查找可执行命令的目录列表系统输入指令时按 PATH 顺序检索程序查看 PATHecho $PATH临时追加自定义目录export PATH$PATH:/自定义目录永久追加将上面命令写入~/.bashrcsource重载5. 变量删除命令 unset语法unset 变量名作用彻底清空当前会话内变量echo读取无输出6. Shell 数组变量定义数组名(元素1 元素2 元素3)读取语法单个元素${数组名[下标]}下标从 0 开始全部元素${数组名[*]}修改元素数组名[下标]新值删除数组unset 数组名二、分模块实操附带对应截图说明模块 1局部变量实操执行命令# 1.定义局部变量 my_variableHello World # 2.打印变量 echo $my_variable # 3.进入子shell验证子进程无法读取 bash echo $my_variable # 4.子shell内重新赋值 my_variableHello echo $my_variable # 5.退出子shell回到原会话查看原变量不变 exit echo $my_variable截图说明第一张截图完整记录上述操作子 Shell 中无法读取父 Shell 局部变量子 Shell 内部修改仅作用于自身退出后原会话变量保持原值直观证明局部变量仅当前会话有效。模块 2临时全局环境变量export执行命令# 1.定义并导出全局变量 my_variableGlobal variable export my_variable echo $my_variable # 2.进入子shell验证可读取 bash echo $my_variable # 3.子shell内修改变量 my_variableNULL echo $my_variable # 4.退出子shell原变量不变 exit echo $my_variable截图说明第二张截图验证export导出后的变量子 Shell 可以正常读取子 Shell 内修改仅作用于自身父会话变量不受影响。模块 3删除变量 unset执行命令unset my_variable echo $my_variable截图说明第三张截图执行unset删除变量后再次 echo 无任何输出变量彻底清空。模块 4永久全局变量写入/.bashrc执行命令# 1.编辑bash自启动文件 vim ~/.bashrc # 文件末尾添加# 用户自定义全局环境变量 export my_variableHello World! # 2.重载配置无需重启终端 source ~/.bashrc # 3.验证永久变量 echo $my_variable截图说明第四、五张截图vim 编辑配置文件写入 export 语句执行 source 重载后终端成功读取永久变量新开终端也能正常读取。模块 5PATH 环境变量实操执行命令# 1.查看系统默认PATH echo $PATH # 2.临时新增自定义目录到PATH export PATH$PATH:/home/jiayang7/test_dir # 3.验证自定义路径变量 echo $text_dir截图说明第六、七张截图打印原始 PATH 查看系统默认检索目录使用$PATH拼接追加自定义目录临时扩展命令查找路径。模块 6Shell 数组完整实操执行命令# 1.定义数组 my_test(apple pear orange) # 2.读取全部元素 echo $my_test echo ${my_test[0]} echo ${my_test[1]} echo ${my_test[2]} echo ${my_test[*]} # 3.修改指定下标元素 my_test[1]good echo ${my_test[*]} # 4.删除整个数组 unset my_test echo ${my_test[*]}截图说明第八、九、十张截图数组下标从 0 开始单独读取指定元素[*]一次性打印全部数组内容修改下标 1 元素数组内容同步更新unset删除数组后读取无输出。三、完整命令知识框架表表格操作类型核心命令功能用途关键参数 / 语法说明定义局部变量var值当前会话临时存储子进程不可见等号左右禁止空格引号包裹带空格字符串导出临时全局变量export var值变量传递给所有子 Shell仅当前终端生效关闭失效查看所有全局变量env只打印已导出的环境变量区分 set包含局部变量查看全部变量set局部 全局变量全部输出输出内容量大适合排查本地变量删除变量 / 数组unset var彻底销毁变量无法读取支持普通变量、数组整体删除编辑永久环境变量vim ~/.bashrc配置交互式终端自启动环境变量用户级永久生效所有新开终端可用重载 bash 配置source ~/.bashrc修改 bashrc 后立刻生效不用关闭、重启终端查看 PATH 路径echo $PATH查看系统命令检索目录目录之间用冒号:分隔追加 PATH 目录export PATH$PATH:/xxx临时新增可执行文件检索路径$PATH保留原有所有路径避免覆盖定义数组arr(a b c)创建有序数组存储多组数据元素空格分隔下标从 0 开始读取单个数组元素${arr[下标]}获取指定位置元素下标数字写在 [] 内外层必须加大括号读取全部数组${arr[*]}一次性输出数组所有元素*代表匹配数组全部下标修改数组元素arr[下标]新值覆盖指定下标原有内容仅修改当前下标其余元素不变四、实验总结变量作用域区分局部变量无 export仅限当前 Shell子进程隔离临时全局变量export 导出父子 Shell 共享终端关闭失效永久全局变量写入~/.bashrc每次打开终端自动加载长期生效。PATH 核心作用Linux 执行命令时会依次遍历 PATH 内目录寻找程序自定义脚本文件夹追加进 PATH 后任意目录下都能直接执行脚本不用写完整绝对路径。Shell 数组核心要点数组下标从零起始单独读取必须使用${数组[下标]}格式unset可直接清空整个数组无单独删除单个元素的基础命令。实操踩坑记录大一新手避坑① 变量赋值等号两边不能加空格否则会报命令不存在② 修改.bashrc后必须执行 source否则当前终端不会加载新变量③ 数组直接echo $数组名只会输出下标 0 第一个元素读取全部必须加[*]④ 临时 export 的变量关闭终端直接消失需要长期使用必须写入自启动文件。文末声明本文为大一 Linux 课程实操作业全部命令在 Xshell 远程连接 VMware Ubuntu 虚拟机环境真实运行截图均为本人实操界面原创整理知识框架供同专业同学参考学习。