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

Linux Shell全局/局部环境变量、PATH、启动脚本与数组变量

一、环境变量相关知识

1. Linux系统依靠环境变量保存系统运行过程中的各类环境信息,Shell环境变量可以划分为局部环境变量与全局环境变量两大类。局部环境变量的作用域仅限于当前开启的Shell会话,只能在当前终端进程内访问,由当前Shell创建的子Shell进程无法读取到局部变量;全局环境变量也叫导出型环境变量,局部变量经过导出声明之后就升级为全局环境变量,不仅当前Shell可以使用,由当前Shell创建出来的所有子Shell进程都能够继承并读取这个变量。系统提供了不同命令用来区分查看局部变量、全局环境变量,也可以使用命令对已经定义完成的变量进行删除操作。
2. 用户可以根据自身需求创建属于自己的局部环境变量和全局环境变量,按照生效周期可以分为临时变量和永久变量。临时自定义变量仅在当前终端会话中有效,一旦终端关闭或者开启新的会话,变量就会消失;如果希望自定义变量长期有效,就需要把变量的定义语句写入Shell启动配置文件中,实现每次打开终端自动加载变量。
3. PATH是Linux系统中最为关键的环境变量,它专门用来定义bash shell检索可执行命令时的目录查找顺序。PATH内部由多个目录地址组成,不同目录之间使用冒号进行分隔。当我们在终端输入一条命令按下回车后,bash会按照PATH记录的目录顺序逐个查找对应的可执行程序,如果在某个目录找到目标程序就直接运行;如果遍历完所有目录都没有找到对应的可执行文件,终端就会提示命令未找到。用户可以根据自身需求临时修改PATH变量,也可以通过配置文件永久追加自定义脚本目录到PATH中。
4. bash shell在启动交互式终端会话时,会自动依次读取并执行一系列专属的启动文件,其中 ~/.bashrc 是针对单个普通用户最常用的启动配置文件,每次打开一个全新的bash终端窗口时系统都会自动加载此文件。我们可以把自定义环境变量、命令别名等配置写入这个启动文件,这样每一次开启新的bash会话,系统都会自动加载我们预设好的环境变量。直接修改启动文件之后,新的配置不会立刻在当前终端生效,有两种解决方式:一是关闭当前终端重新登录开启新会话,二是使用配置加载命令让当前终端立刻读取更新后的配置内容。

二、数组变量相关知识

bash shell支持数组变量,Shell中默认使用一维数组,数组元素的下标从数字0开始计数。我们可以一次性声明并初始化包含多个元素的数组,也可以单独利用下标为数组某一个位置赋值。在使用数组时,既可以根据下标单独读取数组里某一个指定元素,也可以一次性取出数组内部所有的元素;同时还可以获取数组中存储元素的总个数。除此之外,我们可以结合循环结构,依次取出数组中的每一个元素进行遍历处理,实现批量操作数组数据,满足Shell脚本中批量存储和处理一组同类数据的需求。

http://www.jsqmd.com/news/1146454/

相关文章:

  • SMAPI架构解析:星露谷物语模组加载框架的5个核心技术突破
  • 2026年AI黄金赛道:教育/医疗/金融大模型解决方案深度解析(收藏版)
  • 记一次华为乾崑智驾大模型6月安全报告深度排查
  • 探秘未来家居:全屋智能展厅体验记
  • PHP 5.x/7.x 本地文件包含实战:3种伪协议绕过与 Client-ip 头伪造
  • 如何快速上手openEuler/sra_test?3分钟完成编译与首次测试的完整指南
  • 经验丰富的加密软件推荐品牌 按场景选型不踩坑全指南
  • 产线时延与丢包治理:TSN确定性网络落地指南
  • Fast-GitHub:国内开发者必备的GitHub下载加速解决方案
  • PIC18F65K40与PAM8904音频驱动方案设计与优化
  • 京东抢购自动化脚本完整指南:如何通过Python脚本提升抢购成功率
  • QQ 官方机器人 Webhook 接入实战:Nginx 反向代理 + SSL 证书 2 小时上线
  • 【RT-DETR涨点改进】10 从“结构”到“数据”:为RT-DETR量身定制的“温和”数据增强方案
  • LinkSwift:九大网盘直链下载助手终极指南,告别下载限速烦恼
  • 图片裁剪引发的数据泄露
  • 步进电机为何不标功率?从工作原理到选型实践详解
  • 嵌入式开发笔记:伺服电机四大控制模式深度剖析——从原理到调试实战
  • 暗黑破坏神3自动化助手D3KeyHelper:5分钟掌握图形化按键宏配置
  • 步进电机控制入门:从硬件接线到代码调试完整指南
  • 企业大模型多供应商路由——服务降级与灰度切换实战
  • 3 款主流 NLP 工具对比:NLTK vs spaCy vs HanLP,中文处理谁更强?
  • 口碑好的广州天河湛江鸡商家哪家专业
  • Android 15 签名权限许可名单实战:为 3 类非系统应用配置 platform 权限
  • 企业级自动化部署架构设计:实现95%成功率的Apple USB网络共享驱动系统集成解决方案
  • AI时代岗位大变革:小白程序员如何抓住机遇,实现年薪百万?(内含转型指南)
  • 3分钟上手Translumo:Windows平台终极实时屏幕翻译工具完整指南
  • 如何让微信聊天记录成为你的数字记忆档案馆?WeChatMsg免费开源工具完全指南
  • 微服务下单跨服务数据不一致问题分析笔记
  • Free-NTFS-for-Mac完全指南:如何在苹果电脑上彻底解决NTFS硬盘读写难题
  • 【重磅发布】Claude Code v2.1.202 :自定义动态工作流体量、解锁全量 OTel 流水线追溯、大修 SSH 登录换行截断与多 Worktree 恢复卡死!