Linux 环境变量课堂笔记
一、什么是环境变量1. 基础概念环境变量是操作系统 / Shell 提供的键值对变量名值用于存储会话、系统配置信息程序、脚本可直接读取使用。作用在内存持久存储数据方便 Shell、应用程序调用。命名规范系统自带环境变量全大写自定义局部变量建议小写避免覆盖系统变量。2. 两类环境变量1全局环境变量作用范围当前 Shell 所有子 Shell 都能访问。查看命令env/printenv只打印全局环境变量echo $变量名单独查看某一个变量值必须加$示例1.分别执行env、printenv、set对比输出差异envenv只输出全局环境变量export 导出的变量、系统全局变量格式变量名值不输出函数、局部自定义变量、Shell 内置临时变量printenv功能和env几乎完全一致同样只打印全局环境变量额外用法可单独查询单个变量printenv HOME输出内容、行数和 env 几乎无差别set输出全部内容全局变量 局部自定义变量 Shell 函数 Shell 内置临时变量输出内容远多于 env/printenv行数最多会打印你当前会话定义的局部变量、脚本函数等临时内容2.父 Shell 查看 $PWD进入子 Shell 再次查看验证全局变量继承。二、自定义用户变量1. 创建局部变量仅当前 Shell 生效语法规则变量名值等号两侧不能有空格值包含空格时用单 / 双引号包裹子 Shell 无法读取局部变量退出终端变量直接消失。 示例练习父 shell 定义局部变量进子 shell 查看子 shell 定义局部变量退出后父 shell 查看均无法读取。2. 创建全局变量子 Shell 也可访问步骤先定义局部变量 →export导出为全局my_var全局变量测试 export my_var bash # 进入子shell echo $my_var # 子shell可读取 my_var修改值 # 子shell修改变量 exit echo $my_var # 父shell值不变子shell修改不影响父shell核心特点子 Shell 修改全局变量仅在自身内部生效不会向上覆盖父 Shell 的变量值。三、删除环境变量命令unset 变量名注意操作变量时 ** 不加 $**读取变量时才加 $。 示例流程父 shell 导出全局变量export test123进入子 shellunset test子 shell 中变量消失exit 退回父 shell变量依然存在父 shell 执行unset test变量彻底删除练习步骤子 shell 读取父 shell 全局变量子 shell unset 删除变量退出子 shell父 shell 变量仍存在父 shell 执行 unset变量彻底清除四、系统默认 Shell 环境变量1. 传统 Bourne 内置变量表格变量作用CDPATHcd 命令的搜索目录冒号分隔HOME当前用户家目录IFS字段分隔符MAIL用户邮箱文件路径MAILPATH多邮箱文件列表OPTARG / OPTINDgetopts 命令专用参数2. Bash 独有扩展变量表格变量作用BASH当前 bash 程序完整路径PWD当前工作目录UID用户数字 IDHOSTNAME主机名LINES终端可见行数GROUPS当前用户所属用户组数组五、PATH 环境变量重点1. 作用Shell 输入命令时自动在 PATH 内的目录查找可执行程序目录用冒号:分隔。 查看 PATH2. 临时添加自定义目录如果脚本所在目录不在 PATH无法直接运行可临时追加目录⚠️ 缺点临时生效重启终端 / 系统后失效。配套练习编写hello.sh脚本不修改 PATH直接运行提示命令不存在追加目录到 PATH 后可直接运行重启终端再次执行脚本失效权限不足时添加执行权限chmod ux hello.sh六、环境变量配置文件永久生效配置登录 Shell 启动时会按固定顺序读取配置文件写入变量可永久生效。1. 系统级全局配置所有用户生效/etc/profile系统所有用户登录都会加载内部会循环加载/etc/profile.d/*.sh下所有脚本适合配置全用户共用环境变量。2. 用户级专属配置仅当前用户生效登录时按优先级依次查找找到第一个就停止读取~/.bash_profile~/.bash_login~/.profile上述文件内部一般会主动加载~/.bashrc终端交互配置。使用技巧把自定义环境变量、PATH 配置写入上述文件新开终端自动生效 立即生效不用重启source 配置文件七、数组变量环境变量支持数组可存储多个值下标从 0 开始。1. 数组定义与读取2. 修改、删除数组数组练习创建存储组员姓名的数组修改其中一位成员删除一名成员彻底删除整个数组。本章小结Linux 环境变量分为全局变量父子 shell 共享、局部变量仅当前 shellexport将局部变量提升为全局unset删除变量PATH 控制命令搜索路径临时修改重启失效写入配置文件永久生效Shell 登录时自动加载/etc/profile、用户家目录下.bash_profile/.profile等配置文件环境变量支持数组通过下标存取多组数据。

相关新闻

Photoshop全版本安装部署指南:兼容性、离线安装与错误排查

Photoshop全版本安装部署指南:兼容性、离线安装与错误排查

1. 项目概述:为什么一个“PS安装包合集”值得花2000字讲清楚? Photoshop,这个在设计、摄影、电商、新媒体甚至学生作业里无处不在的软件,它的安装过程,远比“双击下一步”复杂得多。我从2012年开始带设计团队&#xf…

2026/7/7 12:43:53阅读更多 →
4-20mA电流环与INA196电流检测方案设计详解

4-20mA电流环与INA196电流检测方案设计详解

1. 4-20mA电流环基础与行业应用场景工业自动化领域广泛采用4-20mA电流环作为信号传输标准已有半个多世纪历史。这种看似简单的技术能够长期存在,关键在于其独特的物理特性:电流信号在长距离传输时不受线路电阻影响,且天然具备抗电磁干扰能力。…

2026/7/7 12:43:53阅读更多 →
抖音无水印下载器:3分钟上手,批量下载视频、图集、音乐

抖音无水印下载器:3分钟上手,批量下载视频、图集、音乐

抖音无水印下载器:3分钟上手,批量下载视频、图集、音乐 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fa…

2026/7/7 12:43:53阅读更多 →
数字记忆守护者:重新定义你的个人数据主权

数字记忆守护者:重新定义你的个人数据主权

数字记忆守护者:重新定义你的个人数据主权 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg 在…

2026/7/7 13:54:00阅读更多 →
3层架构深度解析:ncmdumpGUI如何优雅破解网易云音乐NCM格式的技术哲学

3层架构深度解析:ncmdumpGUI如何优雅破解网易云音乐NCM格式的技术哲学

3层架构深度解析:ncmdumpGUI如何优雅破解网易云音乐NCM格式的技术哲学 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 在数字音乐版权保护与用户使…

2026/7/7 13:54:00阅读更多 →
STM32L152RE与AD5593R的硬件设计与应用优化

STM32L152RE与AD5593R的硬件设计与应用优化

1. AD5593R与STM32L152RE的硬件协同设计AD5593R作为一款多功能I/O扩展芯片,其与STM32L152RE的硬件连接需要特别注意信号完整性和电源管理。这款12位ADC/DAC转换器采用I2C接口通信,最高支持400kHz的快速模式。在实际硬件设计中,我发现以下几个…

2026/7/7 13:54:00阅读更多 →
工业自动化中传感器与执行器控制系统的设计与实现

工业自动化中传感器与执行器控制系统的设计与实现

1. 工业级传感器与执行器控制系统的核心组件解析 在工业自动化领域,构建一个稳定可靠的传感器与执行器控制系统需要精心选择每个关键组件。AD74115H、ADP1034和dsPIC33EP512MU814这三款芯片的组合,为工程师提供了从信号采集到功率管理的完整解决方案。 …

2026/7/7 13:54:00阅读更多 →
工业自动化中传感器与执行器的高效控制方案

工业自动化中传感器与执行器的高效控制方案

1. 工业级传感器与执行器控制方案概述在工业自动化领域,传感器与执行器的可靠连接与控制一直是工程师面临的核心挑战。AD74115H(软件可配置I/O芯片)、ADP1034(隔离电源管理芯片)与PIC18F4455(主控MCU&#…

2026/7/7 13:54:00阅读更多 →
新手入门漏洞挖掘:从XSS/SQL注入到众测平台实战指南

新手入门漏洞挖掘:从XSS/SQL注入到众测平台实战指南

1. 项目概述:从零开始的漏洞挖掘副业之路 最近几年,身边总有人问我:“听说有人靠找网站漏洞就能赚钱,是真的吗?” 我的回答是:千真万确。这行当,业内称之为“漏洞挖掘”或“安全众测”&#xff…

2026/7/7 13:49:00阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/7 4:43:43阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/7 2:56:31阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/7 1:03:28阅读更多 →
Acunetix v24.8 深度解析:DAST漏洞扫描器核心原理与DevSecOps实践

Acunetix v24.8 深度解析:DAST漏洞扫描器核心原理与DevSecOps实践

1. 项目概述:Acunetix v24.8 高级版漏洞扫描器深度解析作为一名在网络安全领域摸爬滚打多年的老兵,我深知一款趁手的“兵器”对于安全测试工作意味着什么。今天要聊的,就是Web应用安全测试领域里一个响当当的名字——Acunetix。特别是其v24.8…

2026/7/7 0:02:41阅读更多 →
国产化信创改造:达梦/人大金仓适配与多数据库兼容方案实战(SpringBoot)

国产化信创改造:达梦/人大金仓适配与多数据库兼容方案实战(SpringBoot)

国产化信创改造:达梦/人大金仓适配与多数据库兼容方案实战(SpringBoot) 🌐 演示地址:http://ruoyioffice.com | 📦 源码1GitHub:ruoyi-office | 📦 源码2GitCode:ruoyi-o…

2026/7/7 0:02:41阅读更多 →
CentOS 7/8 SSH 连接失败:5步系统性排错流程与决策树

CentOS 7/8 SSH 连接失败:5步系统性排错流程与决策树

CentOS SSH连接故障排查:从基础检查到深度修复的完整指南引言当你尝试通过Xshell或其他SSH客户端连接CentOS服务器时,突然遭遇"Connection refused"或"Connection timed out"的错误提示,这种经历对任何运维人员或开发者来…

2026/7/7 0:02:41阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/7 5:11:21阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/7 5:11:21阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/7 5:11:21阅读更多 →