news 2026/7/8 4:36:37

Linux环境变量学习心得:弄懂变量、PATH与数组

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux环境变量学习心得:弄懂变量、PATH与数组

前言

刚接触Linux的时候我一直有两个疑问:为什么系统自带命令随便输就能跑,自己写的小程序却要输完整路径;临时定义的变量一关终端就没了。把环境变量整套实操做完后才理清背后逻辑,下面分享完整知识点。

一、环境变量基础概念

环境变量就是一组名称=值的数据,系统和终端会话的信息全都存在这里。系统自带变量统一大写,我们自己创建尽量用小写,防止不小心覆盖系统配置出问题。

按作用域分成全局、局部两种:
全局变量当前终端和新开的子shell都能读取,像HOME、PATH、PWD都是系统自带全局变量。用env、printenv能查看所有全局变量,echo $变量名可以单独打印某一个。子shell里修改全局变量只会改动副本,不会影响父终端原本的值。

局部变量只在当前窗口生效,切到子shell就读取不到了。没有单独查看局部变量的命令,输入set能把所有变量(局部+全局)全部打印出来。定义时等号两边不能有空格,内容带空格就用引号包起来,关掉终端变量直接消失。

二、自定义变量的创建与删除

直接赋值就能生成局部变量,但子shell访问不到;如果想让子shell也共用,加上export就能升级成全局变量。
想要删掉变量使用unset,注意命令后面直接写变量名,不用加$符号。删除操作只对当前终端生效,不会影响其他shell。

三、PATH变量,日常最常用的环境变量

PATH里存放一堆目录,用冒号隔开,每次敲命令,系统会顺着这些目录查找可执行程序。
自己安装的程序不在默认路径里,就需要手动追加目录:export PATH=$PATH:/自定义文件夹。这种方式只是临时生效,重新打开终端就失效,想要长期使用要写到配置文件里。

四、实现变量永久生效的配置文件

配置文件分系统、用户两类:
/etc/profile是系统级文件,所有用户登录都会加载,改动会影响整台机器,一般不建议修改。
~/.bashrc是当前用户专属文件,每次打开终端都会自动读取,自定义变量、PATH都写在这里最合适。写完配置执行source ~/.bashrc,不用重启终端就能立刻生效。

五、Shell一维数组使用

bash只支持一维数组,用括号包裹多个值,下标从0开始计数。
单独取某个元素写{数组[下标]},{数组[*]}可以一次性输出全部内容。直接给下标赋值就能修改内容;unset配合下标可以删掉单个元素,不加下标直接写数组名则会清空整个数组。

总结

全局变量能在父子shell互通,局部变量仅当前窗口可用;env查看全局变量,set查看全部变量,export导出全局,unset删除变量。PATH决定命令检索路径,可临时追加或写入配置永久保存。/etc/profile管控全系统环境,~/.bashrc用来配置个人永久变量。shell数组支持增删改查,是写脚本时很实用的工具。

环境变量算是Linux的基础内容,不管平时操作服务器还是写自动化脚本都离不开,分清临时和永久、全局与局部的区别,操作起来会省心很多。

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

Calibre NoTrans插件:彻底解决中文路径乱码问题的完美方案

Calibre NoTrans插件:彻底解决中文路径乱码问题的完美方案 【免费下载链接】calibre-do-not-translate-my-path Switch my calibre library from ascii path to plain Unicode path. 将我的书库从拼音目录切换至非纯英文(中文)命名 项目地址…

作者头像 李华
网站建设 2026/7/8 4:30:53

一台两年没洗的空调,三天吹出“大白肺“——洗滤网≠洗空调

先说个刚发生的事2026年6月,武汉57岁的熊先生打开尘封两年的空调,吹了三天,持续高热、咳血痰、意识模糊,CT双肺白——确诊嗜肺军团菌重症肺炎,靠ECMO救了 23天才脱险。同一周,杭州78岁的何阿姨,…

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

Linux 提示 No space left on device 怎么快速清理?

在Linux服务器运维、网站部署、程序运行、日志服务、数据库迭代场景中,No space left on device是出现频率最高、影响最直接的系统报错之一。该报错直观表现为磁盘空间耗尽,会直接导致文件无法写入、程序启动失败、日志截断失效、数据库读写异常、网站无…

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

HALCON vs OpenCV 亚像素轮廓提取对比:4类工业零件实测精度与速度

HALCON与OpenCV亚像素轮廓提取实战评测:工业视觉选型指南在精密制造领域,0.1毫米的误差可能导致整个批次报废。某汽车零部件供应商曾因轮廓检测偏差导致百万损失,直到改用亚像素级算法——这个故事揭示了技术选型的关键性。本文将用4类真实工…

作者头像 李华
网站建设 2026/7/8 4:28:33

Java毕设项目:基于 SpringBoot 的在线学习笔记与答疑系统的设计与实现 基于 SpringBoot 的课程资源发布与学习系统 (源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华