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

举例说明环境变量及 PATH 的作用

Windows环境变量

环境变量简介

环境变量是操作系统提供的全局变量,所有进程(程序)都可以访问。它本质上是键值对(key=value),可以存储字符串类型的数据。
环境变量分为两类:

  1. 用户变量(User Variables)

    • 针对当前用户,每个用户都可以有自己的一组用户变量。
  2. 系统变量(System Variables)

    • 针对整个系统,对系统上的所有用户可见。

注意:用户变量的优先级高于系统变量。如果同名的用户变量和系统变量都存在,系统将使用用户变量。


PATH 环境变量

PATH 是一个特殊的环境变量,在操作系统中起着重要作用,尤其在命令行中。它指定了操作系统在哪些目录中搜索可执行文件。在 Windows、Linux 和 macOS 等操作系统中,PATH 都有类似的概念。


示例说明

例子1:配置 JDK 环境变量

在安装 JDK 时,需要先解压或安装 JDK 文件,然后配置环境变量,让系统和程序能够正确识别 JDK 的安装路径。

配置流程:

  1. 在系统环境变量中新增变量 JAVA_HOME,将其值设置为 JDK 安装目录,例如:

    • Windows: C:\Program Files\Java\jdk-17
    • Linux: /usr/lib/jvm/java-17-openjdk
  2. %JAVA_HOME%\bin(Windows)或 $JAVA_HOME/bin(Linux)添加到 PATH 环境变量中。

  3. 配置完成后,在命令行或终端中可以直接使用 javajavac 等命令。

配置好 JAVA_HOME 后,像 Eclipse、IntelliJ IDEA 等 IDE 会自动读取它来确定使用哪个 JDK 版本进行编译和运行 Java 程序,避免在每个项目中重复手动配置 JDK 路径。


例子2:Windows 配置 Git 环境变量

如果在安装 Git 时没有勾选 “Git from the command line and also from 3rd-party software”,系统可能无法在命令行中直接识别 git 命令,需要手动配置环境变量。

配置流程:

  1. 右键“我的电脑”或“此电脑”,选择“属性”。

  2. 点击“高级系统设置”,在“系统属性”窗口切换到“高级”选项卡,点击“环境变量”按钮。

  3. 在“系统变量”中找到 Path 变量,双击或选择后点击“编辑”。

  4. 点击“新建”,输入 Git 的可执行文件路径,例如:

    • C:\Program Files\Git\bin(64 位系统)
    • C:\Program Files (x86)\Git\bin(32 位系统)
  5. 点击“确定”保存更改,重新启动命令提示符或 PowerShell 窗口。

  6. 执行 git --version 验证是否生效。


PATH 查找 Git 的模拟过程

假设 PATH 中包含以下两条路径:

C:\Windows\system32
C:\Program Files\Git\bin

执行 git --version 时,系统查找流程如下:

  1. 在 C:\Windows\system32 中查找

    • 系统首先在此目录中查找 git.exe
    • 如果找到,系统执行该文件并运行 git --version,不会继续查找其他路径。
  2. 在 C:\Program Files\Git\bin 中查找

    • 如果在 C:\Windows\system32 未找到 git.exe,系统会继续查找此目录。
    • 找到后执行并运行 git --version
  3. 未找到 git.exe

    • 如果在上述路径都未找到,系统会显示错误提示:找不到该命令。
http://www.xdnf.cn/news/17732.html

相关文章:

  • RuoYi-Vue3-FastAPI框架的功能实现(中)
  • 计算机网络技术学习-day1《网络乾坤:从比特洪流到协议星河的奇幻之旅》​
  • Dynamsoft Capture Vision Crack
  • 反射的详解
  • Vue3 vs Vue2:全面对比与面试宝典
  • BM25:概率检索框架下的经典相关性评分算法
  • 单例模式的理解
  • Windows11 运行IsaacSim GPU Vulkan崩溃
  • FluxApi - 使用Spring进行调用Flux接口
  • 《Foundations and Recent Trends in Multimodal Mobile Agents: A Survey》论文精读笔记
  • 物联网之小白调试网关设备
  • [TG开发]简单的回声机器人
  • hadoop 前端yarn 8088端口查看任务执行情况
  • 人工智能——CNN基础:卷积和池化
  • 利用生成式AI与大语言模型(LLM)革新自动化软件测试 —— 测试工程师必读深度解析
  • 数据分析可视化学习总结(美妆2)
  • 飞算AI:企业智能化转型的新引擎——零代码重塑生产力
  • CSS动态视口单位:彻底解决移动端适配顽疾,告别布局跳动
  • 高可用实战之Nginx + Apache篇
  • Java面试宝典:ZGC
  • PyTorch基础(Numpy与Tensor)
  • Vue3+AntDesign实现带搜索功能的下拉单选组件
  • 如何生成.patch?
  • 2025年AI大模型应用架构设计十大核心问题深度解析
  • Java pdf工具
  • Java 导出word 实现表格内插入图表(柱状图、折线图、饼状图)--可编辑数据
  • 飞算JavaAI的中间件风暴:Redis + Kafka 全链路实战
  • Android 在 2020-2025 都做哪些更新?
  • 浏览器面试题及详细答案 88道(23-33)
  • Pytorch FSDP权重分片保存与合并