当前位置: 首页 > news >正文

Linux环境变量与数组变量学习笔记

Linux环境变量、PATH、Bash启动文件及数组变量知识体系详解

一、整体知识框架

整套知识点分为四大模块:局部与全局环境变量体系、PATH核心环境变量、Bash Shell启动配置文件、Shell数组变量。局部变量仅限当前会话使用,全局环境变量可被子进程继承;PATH决定系统去哪里检索可执行命令;Shell启动文件会在终端开启时自动加载预设环境配置;数组可以批量存储一组同类型数据。

二、局部环境变量与全局环境变量

1、基础概念

局部变量仅在当前打开的Shell会话中生效,新建子Shell进程无法读取该变量,终端关闭后变量直接失效。
全局环境变量通过导出声明后,当前Shell以及所有由它派生出来的子进程都可以正常调用,分为临时生效全局变量和写入配置文件永久生效两类。

2、基础操作说明

创建局部变量仅需直接赋值定义;想要升级为全局变量,需要通过导出指令完成声明。
查看所有变量可以使用总览指令,只查看全局环境变量有专门的查询指令;单独查看某一个变量内容,采用变量取值方式即可。
新建子Shell会话,可以用来验证局部变量不具备继承性,全局变量能够正常传递。

三、PATH环境变量

1、核心作用

PATH是Linux系统内置的关键环境变量,当Bash运行普通命令时,会严格按照PATH内部记录的目录顺序,逐个搜寻对应的可执行程序。如果程序所在目录不在PATH列表中,就必须填写完整绝对路径才能正常运行程序。

2、常规使用方式

可以直接查看当前系统完整的PATH目录列表;能够在原有PATH路径基础上,追加自定义程序目录,临时修改仅在本次终端运行期间有效。
可以通过专用指令,查询任意一条系统命令真实存放的物理绝对路径。

四、Bash Shell启动文件

1、各类启动文件作用

系统级配置文件对所有登录本机的用户统一生效;用户专属登录配置文件,仅在本人账号登录场景加载;
.bashrc文件是日常使用频率最高的配置文件,普通桌面打开的交互式终端都会自动加载该文件,日常自定义环境变量、快捷别名,一般都写在此文件内;还有系统公共的Bash基础配置文件,负责系统层面基础Shell设定。

2、永久环境变量配置逻辑

想要设置每次打开终端都自动生效的环境变量,需要将全局变量配置写入用户目录下的.bashrc文件。修改完成后,不用重启终端,执行重载指令就能立刻让新配置生效。
登录Shell一般指SSH远程登录、账号密码登录主机场景;日常直接点开终端窗口属于非登录Shell,只会加载.bashrc配置。

五、Shell数组变量使用

1、数组基础规则

Bash仅支持一维索引数组,元素下标默认从数字0开始排序,既可以一次性批量赋值整组数据,也可以单独给某一个指定下标位置赋值。

2、数组常用操作

可以根据下标序号读取单个元素;使用通配标识可以一次性取出数组里所有元素;通过特定格式能够统计数组内一共包含多少个元素。
可以采用循环方式,依次遍历数组中全部内容;能够单独删除数组里某一个元素,也可以直接清空整个数组。

六、各类命令用途与主要参数用法总结

1、变量查看类

总览查看命令:可以列出系统内全部局部变量和全局环境变量;
全局专属查看命令:只展示已经导出完成的所有全局环境变量;
单变量取值命令:单独获取某一个指定变量的具体内容。

2、全局变量控制命令

导出指令:功能是把普通局部变量转换为可被子进程继承的全局环境变量,既可以先定义变量再导出,也可以定义时直接完成导出。

3、PATH相关命令

PATH查看指令:查看当前系统全部命令检索目录;
PATH追加用法:在原有搜索目录尾部新增自定义路径;
命令定位指令:精确找到系统命令对应的真实可执行文件路径。

4、配置重载命令

配置重载指令:两种简写形式功能完全一致,修改完Bash配置文件后,无需重启终端,直接重载就能让新设置立刻生效。

5、数组相关语法用法

指定下标取值:读取数组中某一个位置的数据;
全元素取值标识:调取数组内部所有数据;
长度统计语法:计算数组中元素总个数;
删除指令:既可以删除数组内单个元素,也能彻底删除整个数组。

http://www.cnnetsun.cn/news/3221283.html

相关文章:

  • 锂离子电池组主动平衡方案设计与STM32实现
  • AD5593R与PIC18F4458混合信号系统设计指南
  • STM32F091RC与AD5593R的嵌入式信号处理方案
  • 前端调试实战:DevTools调试工具 + 二分定位Bug法全总结
  • 2026鄂州黄金回收白银回收铂金回收价格高无损耗专业鉴定本地人常去门店联系方式推荐
  • 3分钟解决魔兽争霸3兼容性问题:WarcraftHelper终极优化指南
  • STM32G431RB与ISOM8710构建高压隔离通信系统
  • 靠谱的10路电动两轮充电桩质量好的厂家
  • TPA3138D2与PIC18LF45K42实现高效嵌入式音频系统设计
  • 食品工作服系统标准深度解析|食品生产人体污染控制体系
  • 高速ADC AD7490与MCU MK64FN1M0VDC12数据采集系统设计
  • STM32F410RB与AD7490的16位ADC硬件设计与优化
  • 3类量化交易前沿模型部署指南:强化学习、图网络与多模态实战
  • 原生PyTorch可微刚体动力学库:端到端物理仿真与梯度优化
  • 被忽略的高风险禁药:地美硝唑,为什么成了抽检的“隐形雷区”?
  • 小程序商城费用怎么算?年费平台、插件和定制开发对比
  • TLA2518 ADC与PIC18F26K80的信号采集系统设计
  • 本地 Codex 报错 stream disconnected before completion 的排查与修复记录
  • NAU8224与STM32F100ZE构建高效数字音频系统
  • 嵌入式电源管理:MAX77654与PIC18F86K90高效方案
  • 压电蜂鸣器与PIC微控制器的智能警报系统设计
  • PIC18微控制器与PAM8904驱动器的智能警报系统设计
  • RoboWits:面向双臂机器人的认知能力评测基准
  • MA12070音频放大器与PIC18F4455的集成设计指南
  • 美宝回国落户必看:美国出生纸翻译盖章多少钱?怎么办理?
  • 避坑与增效:2026年度企业级AI模型API中转平台调研复盘
  • RTK与PPP定位实战:5步理解双差载波相位在厘米级定位中的核心作用
  • Tabbit浏览器深度解析:工作区沙盒、扩展许可制与端到端加密同步
  • TLA2518与PIC18F87K22的ADC信号采集系统设计
  • 昆山GEO优化公司如何筛选?豆顶顶GEO全域全国拓客方案深度拆解