定义
环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。
- 环境:例如jvm这些都属于小软件,它们处于操作系统这个大软件中。
- 变量:可以随意给其赋值的一个存储单元(与Java中的变量差不多)
- 作用:与Java中的变量一直,用于赋值
如何打开
刚进来肯定很蒙,环境变量
、用户变量
、系统变量
分别是什么?
三种变量的关系
在 Windows 中,环境变量分为用户变量(User Variables)和系统变量(System Variables)。这两者之间有一些关键的区别:
- 用户变量(User Variables):
- 作用范围: 用户变量是针对当前用户的。每个用户都可以有自己的一组用户变量。
- 优先级: 用户变量的优先级高于系统变量。如果同名的用户变量和系统变量都存在,系统将使用用户变量。
- 系统变量(System Variables):
- 作用范围: 系统变量是针对整个系统的。它们对于系统上的所有用户都是可见的。
- 优先级: 系统变量的优先级较低。如果同名的用户变量和系统变量都存在,系统将使用用户变量。
- 修改权限:
- 用户变量: 用户通常有权限修改和管理自己的用户变量。
- 系统变量: 修改系统变量通常需要管理员权限。这是因为系统变量对整个系统的配置产生影响,需要确保在系统级别上的修改是受限制的。
- 示例:
- 用户变量的示例:
USERPROFILE
是一个用户变量,它指定当前用户的个人文件夹路径。 - 系统变量的示例:
PATH
是一个系统变量,它指定可执行文件的搜索路径。
- 用户变量的示例:
- 持久性:
- 用户变量: 用户变量的更改通常在用户注销或重新登录后才会生效。
- 系统变量: 系统变量的更改通常需要重新启动系统或者至少重新启动相应的应用程序或服务才能生效。
PATH变量
环境变量 ≠ P A T H 变量 环境变量≠PATH变量 环境变量=PATH变量,PATH变量只是环境变量的一部分
PATH
是一个特殊的环境变量,在操作系统中起着重要的作用,尤其是在命令行中。它指定了操作系统在哪些目录中搜索可执行文件。在 Windows、Linux 和 macOS 等操作系统中,PATH
都有类似的概念。
具体来说,PATH
变量包含一系列目录路径,这些路径用分号(在 Windows 中)或冒号(在 Linux 和 macOS 中)分隔。当你在命令行中输入一个命令时,操作系统会在 PATH
中的这些目录中搜索可执行文件,并在找到匹配的文件时执行它。
示例
-
原本我是通过
E:\IDEA\IntelliJ IDEA 2022.3.2\bin\idea64.exe
在cmd中打开idea的
-
在PATH环境变量中添加新的路径
-
在cmd中就可以直接使用
idea64
或idea64.exe
打开idea
原理
假设PATH有**C:\Windows\system32
** 和**E:\IDEA\IntelliJ IDEA 2022.3.2\bin\
** 这两条路径,以下是模拟查找的过程:
在命令提示符中输入 idea64
,系统会按照环境变量 Path
中定义的路径列表逐一查找可执行文件
- 在
C:\Windows\system32
中查找:- 系统首先会在
C:\Windows\system32
目录中查找是否存在idea64.exe
。如果找到了,系统会执行它,而不会继续查找其他路径。
- 系统首先会在
- 在
E:\IDEA\IntelliJ IDEA 2022.3.2\bin\
中查找:- 如果在
C:\Windows\system32
中未找到idea64.exe
,系统将继续在E:\IDEA\IntelliJ IDEA 2022.3.2\bin\
目录中查找。如果找到了idea64.exe
,系统将执行它。
- 如果在
- 未找到
idea64.exe
:- 如果在
C:\Windows\system32
和E:\IDEA\IntelliJ IDEA 2022.3.2\bin\
中都未找到idea64.exe
,系统将显示错误消息,指示找不到该命令。
- 如果在
📘 所以PATH这一环境变量的本质就是添加一个文件夹路径,在cmd中可以直接书写对应文件名,系统搜寻PATH下记录的文件夹中是否有该文件,并打开,这样就不用写绝对路径了。
可以发现用户变量和系统变量都有PATH,有什么区别?
- 作用范围:
- 用户变量中的
PATH
: 这个变量是特定于当前用户的。任何在当前用户会话中启动的进程都可以访问和使用这个用户变量中定义的PATH
。 - 系统变量中的
PATH
: 这个变量是全局的,对系统上的所有用户都是可见的。所有用户都可以访问和使用这个系统变量中定义的PATH
。
- 用户变量中的
- 优先级:
- 用户变量中的
PATH
优先级: 如果在用户变量和系统变量中都定义了PATH
,系统将使用用户变量中的PATH
。用户变量的优先级更高。 - 系统变量中的
PATH
优先级: 如果用户变量中没有定义PATH
,系统将使用系统变量中的PATH
。
- 用户变量中的
- 修改权限:
- 用户变量中的
PATH
: 用户通常有权限修改和管理自己的用户变量中的PATH
。 - 系统变量中的
PATH
: 修改系统变量中的PATH
通常需要管理员权限,因为它对整个系统的配置产生影响。
- 用户变量中的
- 持久性:
- 用户变量中的
PATH
: 对用户变量的更改通常在用户注销或重新登录后才会生效。 - 系统变量中的
PATH
: 对系统变量的更改通常需要重新启动系统或者至少重新启动相应的应用程序或服务才能生效。
- 用户变量中的
新建环境变量
- 目的: 新建环境变量通常是为了存储特定的配置信息,而不一定是用于寻找可执行文件。
- 效果: 新建的环境变量存储的是一个值,而不是一个路径列表。这个值可以是任何你需要在系统或应用程序中使用的配置信息,不仅限于可执行文件的路径。
可以自己定义名字和值
新建环境变量和PATH变量的区别
添加PATH变量的界面是这样的
区别:
- 定义:
- PATH变量是一种特殊的环境变量,它指定了操作系统在哪些目录中搜索可执行文件。
- 新建环境变量通常是为了存储特定的配置信息,而不一定是用于寻找可执行文件。
- 内容:
-
PATH变量是用来存储文件夹的路径,方便系统搜素可执行文件
-
新建的环境变量存储的是一个值,而不是一个路径列表。这个值可以是任何你需要在系统或应用程序中使用的配置信息,不仅限于可执行文件的路径。
- 例如:
有存储一个
12
的,也有存储路径的
再比如,阿里云的密钥就要求存储在环境变量中,再通过代码调用 - 例如:
-
作用
例如图中的JAVA_HOME
和MAVEN_HOME
就是用于标记JDK和MAVEN的安装位置
总结
环境变量重点是在变量上,类似于Java中变量,他是全局变量,方便使用。假如一些路径或者配置信息记不住就可以使用变量来存储,直接调用变量就可。(有点类似于Java中的properties
配置文件)
今天的文章环境变量是干嘛的_环境变量是干嘛的分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/81536.html