news 2026/7/8 9:02:18

【Linux 局部 / 全局环境变量 数组完整实操教程(Xshell+VMware 实操)】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Linux 局部 / 全局环境变量 数组完整实操教程(Xshell+VMware 实操)】
  • 前言大家好,我是刚学 Linux 的大一新生,平时用 Xshell 远程连接 VMware 里的 Ubuntu 虚拟机上课。本次实验完整实操了局部变量、临时全局变量、永久全局环境变量、PATH 路径配置、Shell 数组、变量删除全部知识点,所有命令均在终端真实执行并附上截图,整理成体系化笔记方便复习。

一、核心概念知识框架

1. 局部变量(本地变量)

  1. 定义:仅存在当前 Shell 会话,子 Shell、新开终端、关闭终端全部失效
  2. 定义语法:变量名=值等号两侧不能加空格
  3. 特性:子进程无法读取,仅当前终端可用
  4. 查看:echo $变量名set(查看所有局部 + 全局变量)

2. 临时全局环境变量(export 导出)

  1. 定义:使用export修饰变量,当前会话 + 所有子 Shell 均可读取
  2. 定义语法:
    变量名=值 export 变量名 # 合并写法 export 变量名=值
  3. 特性:关闭终端自动销毁,仅本次会话生效
  4. 查看:envexport(仅打印全局环境变量)

3. 永久全局环境变量(写入自启动文件)

  1. Shell 启动文件:~/.bashrc(交互式终端,打开终端自动加载)
  2. 原理:每次新开终端,系统自动读取.bashrcexport变量,永久生效
  3. 生效命令:修改文件后执行source ~/.bashrc不用重启终端
  4. 编辑工具:vim ~/.bashrc

4. PATH 环境变量

  1. 作用:Shell 查找可执行命令的目录列表,系统输入指令时按 PATH 顺序检索程序
  2. 查看 PATH:echo $PATH
  3. 临时追加自定义目录:export PATH=$PATH:/自定义目录
  4. 永久追加:将上面命令写入~/.bashrcsource重载

5. 变量删除命令 unset

  1. 语法:unset 变量名
  2. 作用:彻底清空当前会话内变量,echo读取无输出

6. Shell 数组变量

  1. 定义:数组名=(元素1 元素2 元素3)
  2. 读取语法:
    • 单个元素:${数组名[下标]},下标从 0 开始
    • 全部元素:${数组名[*]}
  3. 修改元素:数组名[下标]=新值
  4. 删除数组:unset 数组名

二、分模块实操(附带对应截图说明)

模块 1:局部变量实操

执行命令
# 1.定义局部变量 my_variable='Hello World' # 2.打印变量 echo $my_variable # 3.进入子shell验证子进程无法读取 bash echo $my_variable # 4.子shell内重新赋值 my_variable='Hello' echo $my_variable # 5.退出子shell回到原会话,查看原变量不变 exit echo $my_variable

截图说明

第一张截图完整记录上述操作:子 Shell 中无法读取父 Shell 局部变量;子 Shell 内部修改仅作用于自身,退出后原会话变量保持原值,直观证明局部变量仅当前会话有效。

模块 2:临时全局环境变量(export)

执行命令
# 1.定义并导出全局变量 my_variable='Global variable' export my_variable echo $my_variable # 2.进入子shell验证可读取 bash echo $my_variable # 3.子shell内修改变量 my_variable=NULL 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_variable='Hello World!' # 2.重载配置,无需重启终端 source ~/.bashrc # 3.验证永久变量 echo $my_variable

截图说明

第四、五张截图:vim 编辑配置文件写入 export 语句,执行 source 重载后,终端成功读取永久变量,新开终端也能正常读取。

模块 5:PATH 环境变量实操

执行命令
# 1.查看系统默认PATH echo $PATH # 2.临时新增自定义目录到PATH export PATH=$PATH:/home/jiayang7/test_dir # 3.验证自定义路径变量 echo $text_dir

截图说明

第六、七张截图:打印原始 PATH 查看系统默认检索目录;使用$PATH拼接追加自定义目录,临时扩展命令查找路径。

模块 6:Shell 数组完整实操

执行命令
# 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[*]}

截图说明

第八、九、十张截图:

  1. 数组下标从 0 开始,单独读取指定元素;[*]一次性打印全部数组内容;
  2. 修改下标 1 元素,数组内容同步更新;
  3. 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[下标]=新值覆盖指定下标原有内容仅修改当前下标,其余元素不变

四、实验总结

  1. 变量作用域区分
    • 局部变量:无 export,仅限当前 Shell,子进程隔离;
    • 临时全局变量:export 导出,父子 Shell 共享,终端关闭失效;
    • 永久全局变量:写入~/.bashrc,每次打开终端自动加载,长期生效。
  2. PATH 核心作用Linux 执行命令时会依次遍历 PATH 内目录寻找程序,自定义脚本文件夹追加进 PATH 后,任意目录下都能直接执行脚本,不用写完整绝对路径。
  3. Shell 数组核心要点数组下标从零起始,单独读取必须使用${数组[下标]}格式;unset可直接清空整个数组,无单独删除单个元素的基础命令。
  4. 实操踩坑记录(大一新手避坑)① 变量赋值等号两边不能加空格,否则会报命令不存在;② 修改.bashrc后必须执行 source,否则当前终端不会加载新变量;③ 数组直接echo $数组名只会输出下标 0 第一个元素,读取全部必须加[*];④ 临时 export 的变量关闭终端直接消失,需要长期使用必须写入自启动文件。

文末声明

本文为大一 Linux 课程实操作业,全部命令在 Xshell 远程连接 VMware Ubuntu 虚拟机环境真实运行,截图均为本人实操界面,原创整理知识框架供同专业同学参考学习。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/8 8:59:53

小红书笔记API v4 实战:Python 脚本批量获取20条笔记数据与互动指标

小红书笔记API v4 实战:Python脚本批量获取20条笔记数据与互动指标在内容运营和数据分析领域,获取平台数据是开展工作的第一步。小红书作为国内领先的生活方式分享平台,其API接口为开发者提供了高效获取数据的途径。本文将深入探讨如何通过Py…

作者头像 李华
网站建设 2026/7/8 8:59:08

SRv6 BE 隧道承载 BGP VPNv4 跨域互通

实验背景与拓扑解析在开始之前,我们先看这张图。这是一个典型的运营商骨干网模型:PE1 (左侧核心):连接客户 R1 和 R3。P (中间骨干):纯 IPv6 转发设备,不需要感知VRF实例,也不需要配置复杂的 SRv6 功能&…

作者头像 李华
网站建设 2026/7/8 8:57:29

读懂 Claude Code 架构分析系列,第二篇:Claude Code 是怎样启动的?

我正在连载 Claude Code 系列体系文章,这是整个系列的第二篇。如果你觉得这个系列不错的话,欢迎追更,完全免费。 Claude Code 是一个跑在终端里的 Agent runtime。 它里面有 Query Loop,有 Tool System、Tasks、State、 Memory、H…

作者头像 李华
网站建设 2026/7/8 8:55:49

18650锂电池放电曲线分析:1A恒流放电实测,容量衰减超20%的电压拐点

18650锂电池放电曲线深度解析:从电压拐点到健康度评估实战18650锂电池作为便携式电子设备的能量核心,其放电特性直接决定了产品的续航表现。本文将基于1A恒流放电实测数据,揭示老化电池在2.7V和3.0V两个关键电压点的行为特征,并提…

作者头像 李华
网站建设 2026/7/8 8:55:03

抖音批量下载终极指南:从内容保存到数字资产管理

抖音批量下载终极指南:从内容保存到数字资产管理 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖…

作者头像 李华
网站建设 2026/7/8 8:51:29

MVTec AD 数据集实战:PatchCore 无监督缺陷检测,Image-Level AUROC 达 99.5%

MVTec AD数据集实战:PatchCore无监督缺陷检测实现99.5%图像级AUROC当生产线上每分钟流过数百个工业零件时,人工质检员很难保持持久的专注力。传统的有监督深度学习方法虽然在某些场景表现优异,但需要大量标注数据——这在实际工业环境中往往难…

作者头像 李华