Linux环境变量完整知识点梳理
一、什么是环境变量环境变量以变量名值的形式存储数据由操作系统和Shell维护用来保存会话信息、系统配置、用户相关信息系统内所有程序、Shell脚本都可以直接读取使用。Bash依靠环境变量记录当前工作环境的各类数据整体分为系统自带预设变量、用户手动自定义变量两大类。二、系统默认内置环境变量Bourne基础通用变量HOME代表当前登录用户的家目录PATH是命令搜索路径多个目录之间使用冒号分隔PWD记录当前所处的工作目录PS1是终端主提示符PS2是换行后的次提示符IFS是用于分割文本内容的分隔字符CDPATH为cd命令提供备选搜索目录MAIL和MAILPATH用来存放用户邮箱文件地址Shell会自动检测是否收到新邮件。Bash专属内置变量UID和EUID分别对应用户真实ID与有效IDRANDOM可以随机生成0到32767之间的数字BASH保存当前运行Shell程序的完整路径BASH_ALIASES是存放自定义别名的数组GROUPS存储当前用户所属的所有用户组LINES代表终端窗口可视行数。三、全局变量与局部变量区分全局环境变量能够在父Shell以及它创建的所有子Shell中访问系统自带的默认变量全部属于全局变量。查看全局变量可以执行env或者printenv命令如果只想查看单个变量直接使用printenv搭配变量名也可以用echo $变量名读取变量内容读取变量时必须在变量前添加美元符号。实操验证方式终端输入bash创建子Shell执行echo $HOME父子Shell读取到的变量数值完全一致。局部环境变量仅能在创建它的当前Shell内使用新开子Shell无法读取。Linux没有单独查看局部变量的专用指令set命令会输出当前进程下所有变量包含局部变量、全局变量、自定义变量输出内容会自动按字母顺序排序。四、自定义变量操作局部/全局创建局部变量语法为变量名值等号左右不能添加任何空格。如果赋值内容包含空格需要用单引号或者双引号包裹完整字符串。局部变量仅当前窗口生效进入子Shell后无法读取该变量退出子Shell回到原窗口变量依旧保留。将局部变量转为全局变量先定义局部变量再使用export命令导出变量就会变成全局变量子Shell可以正常读取。需要注意在子Shell内部修改全局变量的数值只会作用于当前子进程不会改变父Shell中原变量的内容。删除自定义变量使用unset加上变量名即可删除变量操作变量时不需要加美元符号只有读取变量内容时才需要使用$。永久保存自定义变量直接在命令行创建的变量关闭Shell或者重启系统后会直接消失。想要永久生效需要编辑用户配置文件~/.bashrc在文件末尾写入export配置语句保存后执行source ~/.bashrc刷新配置立刻生效。五、PATH环境变量核心知识点PATH的作用是当我们在终端输入外部命令时Shell会自动依次检索PATH内记录的所有目录寻找对应的可执行程序。执行echo PATH可以查看当前所有搜索目录目录之间依靠冒号隔开。临时新增程序目录到PATHexport PATHPATH:自定义目录路径这种修改仅本次会话有效。永久新增目录需要写入~/.bashrc文件刷新配置后长期生效。六、Shell登录启动配置文件持久化环境变量登录Shell启动时会自动读取多份配置文件加载环境变量。系统全局配置文件为/etc/profile所有用户登录都会读取文件内部会加载/etc/bash.bashrc以及/etc/profile.d目录下所有sh脚本统一配置全系统环境。用户专属配置文件仅对当前账号生效读取优先级从高到低分别是/.bash_profile、/.bash_login、~/.profile这类文件一般会自动加载.bashrc我们日常自定义变量、修改PATH基本都写在.bashrc中。执行ls -a ~可以查看家目录下所有隐藏配置文件。七、Bash数组变量Bash仅支持一维数组使用括号定义数组数组内多个元素用空格分隔数组下标从0开始计数。读取单个数组元素格式为{数组名[下标]}使用{数组名[*]}可以一次性读取数组全部内容直接赋值下标可以修改对应位置元素unset 数组[下标]可以删除单个元素删除后该下标位置会保留unset 数组名能够直接删除整个数组。

相关新闻

LLM驱动的声学机器人无接触操控系统实战解析

LLM驱动的声学机器人无接触操控系统实战解析

1. 这不是科幻片——一个真实可运行的声学机器人集群系统长什么样“LLM驱动的分布式声学机器人协同无接触操控”——光看标题,很多人第一反应是实验室PPT里的概念图,或是某篇顶会论文里被层层抽象包裹的术语堆砌。但我在去年底接手的一个工业质检产线改造…

2026/7/8 5:21:51阅读更多 →
高精度ADC与ARM MCU在工业信号采集中的应用

高精度ADC与ARM MCU在工业信号采集中的应用

1. 项目背景与核心需求解析 在工业自动化、医疗设备和环境监测等领域,将模拟信号精确转换为数字信号是一项基础而关键的技术需求。ADS122U04作为TI(德州仪器)推出的一款24位Δ-Σ型ADC(模数转换器),配合NXP…

2026/7/8 5:21:51阅读更多 →
2026OpenClaw企业部署品牌推荐:七款商用发行版全场景落地选型测评指南

2026OpenClaw企业部署品牌推荐:七款商用发行版全场景落地选型测评指南

一、行业前言 随着 AI 智能体在企业数字化场景落地普及,基于OpenClaw开源框架衍生出多款商业化发行版,成为各类团队搭建自动化办公流程的常用载体。2026年市面上多款差异化OpenClaw商用工具持续迭代,不同产品针对垂直业务完成技术优化&#x…

2026/7/8 5:21:51阅读更多 →
AI风口来袭:小白程序员如何精准定位,稳入大模型赛道?速收藏!

AI风口来袭:小白程序员如何精准定位,稳入大模型赛道?速收藏!

本文深入剖析AI行业的三层金字塔结构,从研发、应用到支持,揭示各岗位的真实需求和前景。通过真实案例,警示转行需谨慎,强调找准定位的重要性。文章提出科班生走研发、非科班生走应用、低学历走复合路线的建议,并强调地…

2026/7/8 6:21:57阅读更多 →
claude code 基础指令积累

claude code 基础指令积累

1:创建CLAUDE.md /init 自动创建项目级 (项目有一定规模再使用) /memory 编辑全局级(修改后需要重启cc) 2. /model 查看/切换当前模型3. /compact 压缩当前对话的上下文4。 /clear 完全清空当前对话5. /status 查看会…

2026/7/8 6:21:57阅读更多 →
3D高斯作空间记忆,动态场景图建因果推理:长时序具身理解框架

3D高斯作空间记忆,动态场景图建因果推理:长时序具身理解框架

1. 项目概述:这不是又一个“3D高斯图神经网络”的缝合怪“DGSG-Mind:融合3D高斯与动态场景图的长时序具身理解框架”——光看标题,你可能会下意识划走:又是高斯泼溅(Gaussian Splatting),又是场…

2026/7/8 6:21:57阅读更多 →
7.XFS文件系统修复

7.XFS文件系统修复

1.如图,这里使用"nvme0n2p1"分区做实验,文件系统是XFS,此时该文件系统可以正常使用2.将"nvme0n2p1"卸载,执行"dd"命令,从"/dev/zero"中读取10000B的0写入"nvme0n2p1&quo…

2026/7/8 6:21:57阅读更多 →
免费音频转换神器fre:ac:从新手到高手的完整指南

免费音频转换神器fre:ac:从新手到高手的完整指南

免费音频转换神器fre:ac:从新手到高手的完整指南 【免费下载链接】freac The fre:ac audio converter project 项目地址: https://gitcode.com/gh_mirrors/fr/freac 还在为音频格式不兼容而烦恼吗?fre:ac音频转换器帮你一次解决所有音频格式问题&…

2026/7/8 6:21:57阅读更多 →
redis-admin 网页版

redis-admin 网页版

地址 页面地址 http://localhost:9898/dist/index.html

2026/7/8 6:16:56阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

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

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

2026/7/8 5:12:14阅读更多 →
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/8 2:26:06阅读更多 →
作为一个给团队打绩效的人,我想说几句

作为一个给团队打绩效的人,我想说几句

我每半年都会给团队成员打绩效,也会参与和 CTO 的绩效校准,所以从管理者的视角,说说这件事 首先,我先把结论告诉你:接受结果,但一定要把原因问清楚。 因为当绩效公布到你这里的时候,结果基本已…

2026/7/8 0:01:17阅读更多 →
A股股指期货:全维度解析(多表格结构化完整版)

A股股指期货:全维度解析(多表格结构化完整版)

一、基础定义与核心本质股指期货全称股票价格指数期货,是中国金融期货交易所(中金所)上市的标准化金融期货合约,交易标的为 A 股大盘指数,约定未来特定时间按约定价格现金交割指数涨跌差价,不交割一篮子股票…

2026/7/8 0:01:17阅读更多 →
iOS越狱新手指南:从困惑到掌控,3天解锁iPhone无限潜能的真实故事

iOS越狱新手指南:从困惑到掌控,3天解锁iPhone无限潜能的真实故事

iOS越狱新手指南:从困惑到掌控,3天解锁iPhone无限潜能的真实故事 【免费下载链接】Jailbreak iOS 26.4 - 26, 17 - 17.7.5 & iOS 18 - 18.7.3 Jailbreak Tools, Cydia/Sileo/Zebra Tweaks & Jailbreak News Updates || AI Jailbreak Finder &…

2026/7/8 0:01:17阅读更多 →
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阅读更多 →