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

举例说明环境变量及 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.dtcms.com/a/331843.html

相关文章:

  • ODE-by-Matlab-01-人口增长模型
  • Java进阶学习之Stream流的基本概念以及使用技巧
  • 不用编程不用组态,实现各种PLC之间数据通讯的网络结构示意图
  • Cookie、Session、Token详解
  • week1-[分支嵌套]公因数
  • P1281 [CERC1998] 书的复制
  • 跨域及解决方案
  • Product Hunt 每日热榜 | 2025-08-14
  • httpx 设置速率控制 limit 时需要注意 timeout 包含 pool 中等待时间
  • Effective C++ 条款40:明智而审慎地使用多重继承
  • 20道Vue框架相关前端面试题及答案
  • Uniapp 中 uni.request 的二次封装
  • stm32f103rct6开发板引脚图
  • 芯伯乐1MHz高频低功耗运放芯片MCP6001/2/4系列,微安级功耗精密信号处理
  • UML函数原型中stereotype的含义,有啥用?
  • 打靶日常-CSRF
  • 中国车企全球化数字转型标杆案例:SAP系统多项目整合升级实践
  • 考研408《计算机组成原理》复习笔记,第五章(2)——CPU指令执行过程
  • Day 11: 预训练语言模型基础 - 理论精华到实战应用的完整指南
  • k8s+isulad 网络问题
  • 【奔跑吧!Linux 内核(第二版)】第7章:系统调用的概念
  • 基本电子元件:电阻器
  • 读书笔记:《我看见的世界》
  • 日志系统(log4cpp)
  • 主进程如何将客户端连接分配到房间进程
  • Android UI(一)登录注册 - Compose
  • 基于Python和Dify的成本对账系统开发
  • OpenCV Canny 边缘检测
  • 软考中级【网络工程师】第6版教材 第3章 局域网 (上)
  • Linux中tty与8250-uart的虐恋(包括双中断发送接收机制)