win环境变量简单解读

作者:清风
链接:https://www.zhihu.com/question/56972990/answer/151205850
来源:知乎

环境变量可以和编程语言中的变量进行类比。以Java为例,如果一个变量被定义成为public+static,我们可以将其视为全局变量。但是这个全局是相对的,指的是程序对应进程的这个“全局”,而另外一个Java进程是无法访问这个变量的。对于操作系统定义的环境变量,我们也可以理解为一个全局变量,只不过这个全局的范围是整个操作系统。即只要在这个操作系统上跑的进程都能够访问这个变量。那么,环境变量有什么作用呢?以PATH为例,这是系统搜索可执行程序的路径。正常情况下,我们在cmd上输入javac A.java,实际上就是找到javac这个程序,然后将A.java作为参数传递给javac运行。那么,怎么找到javac这个程序呢?有两种办法,一种就是写入绝对路径。如:C:/jdk/bin/javac.exe A.java。系统可以通过这个路径找到javac,然后启动对应进程。可是,每次输入绝对路径也是挺烦的。于是,操作系统弄了一个叫PATH的环境变量。假设我们配置PATH=C:/jdk/bin,那么当我们在cmd上敲入javac A.java时,系统会在PATH所配置的目录中去寻找javac这个程序,如果能找到,那么程序就正常执行,否则就报错。换句话说,只要我们将PATH配置成一些常用程序的路径,那么就每次在cmd上输入程序名称时就不用输入绝对路径,这个能够省去很多麻烦。下面正式解决题主的问题。理解了上面的基本概念,剩下的就是语法问题了。%JAVA_HOME%可以理解为程序设计语言中对变量的引用。举个例子,我配置了一个环境变量JAVA_HOME=C:/jdk,那么我就可以用JAVA_HOME去指代C:/jdk这个值,而不用每次都写比较烦琐的路径。那么我可以这样用PATH=%JAVA_HOME%/bin,这样等价于C:/jdk/bin。然后因为我们的程序通常都不是放在一个目录下,而是多个目录下,那么怎么去表示多个目录呢?在Windows下,PATH的值可以用;隔开(Linux用的是:),即可以配置多个目录,如PATH=C:/jdk/bin;C:/maven/bin。至于那个“.”,表示的当前工作目录的路径,比如我们配置PATH=.;%JAVA_HOME%/bin,在cmd输入javac,那么操作系统首先会在当前目录下找javac这个程序,找不到的话就去%JAVA_HOME%/bin(即C:/jdk/bin)下找。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值