你在开玩笑吧 居然还有人不知道为什么开发Java、Python、PHP程序要配置环境变量 你看完之后不秒懂都不行
作者:极客小俊
公众号:同名
你在开玩笑吧! 居然还有人不知道为什么要配置环境变量?😅
前言概述
你在开始学习编程的时候,首先就会接触到环境变量
例如java、python、php
等开发语言的时候,需要去配置一个环境变量
但又不知道为什么要去配置它!
并且这个环境变量
在配置的时候你也不能照本宣科的去配置,稍有不慎就会出现各种各样的问题!
今天我们就来讨论讨论这个环境变量
的话题,并且搞清楚它的原理,这样以后再次遇到类似问题就会迎刃而解!
什么是环境变量🧐
环境变量
英文名为: Environment variables
是在操作系统
中一个具有特定名字的对象,它包含了一个
或多个
应用程序所将使用到的信息, 例如: 如系统临时文件夹位置、系统文件夹位置、某些应用软件文件的路径等等..
举个梨子
🍐
当要求系统
运行一个程序
但是又没有告诉它这个程序
所在的完整路径时,系统
默认会在当前目录下面寻找这个程序
,如果找不到就会到环境变量
中的path
中指定的路径去找, 所以我们用户可以通过设置环境变量
,来更好的运行程序!
这里我以windows
系统的环境变量
来举个梨子
为了让大家更好的去理解这句话,我们这里来实际操作一下, 你可以打开你的cmd命令行终端
来尝试运行一下你的QQ程序, 输入一个QQ
程序,你看看会发生什么事情!
如图
这里他提示了一个'qq' 不是内部或外部命令,也不是可运行的程序或批处理文件
结果很明显,不能通过这种方式去打开QQ程序,对吧 也就是说你要先告诉系统这个程序在哪,才能进行打开
也相信大多数人都是通过桌面的QQ图标或者菜单等方式去点击打开这些应用程序 对吧😅
那么如果说我硬要通过这种cmd
的方式去打开一个应用程序该怎么办呢?首先你要进入并且找到这个程序的准确路径位置!
例如上面我们要打开QQ 我就要先通过cmd命令
直接进入到QQ安装的所在目录下的bin目录下的QQ.exe
这个执行程序, 当然这里需要通过一些简单的DOS命令
才可以进去, 不明白没关系,后面会说到!
这里我这里的路径为D:\腾讯软件\QQ\Bin
那么我先切换到D盘
,然后再使用cd命令
切换到D:\腾讯软件\QQ\Bin
这个目录下,最后执行一下QQ.exe
如图
嘿嘿 你惊奇的发现居然打开了QQ
程序, 是不是感觉很zb! 这个效果跟你在点击图标去打开是一个效果, 没有任何区别!
那如果本次都叫你用这种去慢慢输入路径的方式打开 万一路径很长很复杂那岂不是你要疯掉!🙄, 当然这里只是举个梨子,让你更好的理解为什么要配置环境变量
你完全可以使用桌面图标来打开这些应用程序!😮💨
而且你如果关掉cmd
后重新打开,再次输入QQ
其实又是同样的问题,这就意味着你要从cmd
打开QQ必须每次按照刚才的步骤进行打开,并且你还必须要切换到这个QQ
的bin
目录下才行,这样就很麻烦了, 也不利于你zb!🤔
那么有没有办法让我们在随便哪个目录中都可以直接使用cmd
输入一个QQ
就可以打开的办法呢?
现在就是使用环境变量
的时候了!
其实很简单你只要把刚刚那个bin目录
的路径添加到环境变量
的系统变量
下的path
中就可以了
这里的path
也就是环境变量
中用来指定可执行文件
的绝对路径
,这里配置了很多很多路径,彼此之间用分号隔开!
具体操作这里以win10
为例,步骤如下:
点击此电脑---->右键(选择属性)----->点击高级系统设置------>点击(环境变量)
如图
然后找到系统变量
下的path
点击编辑
如图
然后点击新建
然后复制你的QQ
安装目录下的bin
路径, 我的路径如下图
也就是复制D:\腾讯软件\QQ\Bin
到新建的对话框中
最后全部点击确定即可!
然后你就可以在cmd
中的任意目录 任意盘符下进行打开这个应用程序了!
通过这个小案例 你应该对环境变量有一点点初步的认识了吧!
小结
环境变量
的主要作用就是规定了某些系统文件所在的位置!
用户变量和系统变量的区别👩👦👦
概述
在上面的环境变量
介绍中,我们看到可以通过配置一些路径从而达到在cmd
命令行中快速启动应用程序!
但是眼尖的朋友可能已经发现,环境变量
的配置中被分为了 用户变量
和系统变量
他们分别又是什么意思呢?
用户变量 👦
在环境变量
中的用户变量
配置只会当前所登录的系统用户生效, 也就是说登录的系统用户可以对他自己所配置的环境变量
参数进行增删改 , 不同用户的用户变量之间是独立存在的,并且互不干扰的
系统变量👩
在环境变量
中系统变量
的配置会对所有用户都会有效, 也就是说如果系统变量
被修改了,那么任何一个用户都将受到影响!
但是只有管理员账户才有权限进行系统变量
的设置, 普通系统用户是不能够去修改系统变量
的, 当然一般情况下你通常都是使用的系统管理员账户进行windows
系统的登录的
所以平常我们在自己的电脑系统中去配置环境变量
的时候,不管你是配置在用户变量
还是系统变量
基本上还是没有什么区别!
用户变量和系统变量之间的关系👣
用户变量
和系统变量
我们可以用一张图来进行表示!
如图
看到了吧,不同用户的用户变量
之间是并列独立的, 但是如果说系统变量
被修改了,那么任何系统用户级别都会用系统变量
,因此每个用户都将受到影响
所以说系统变量
就是系统级别
的变量,影响范围最大, 而用户变量
是建立在系统变量
之前的独立存在, 它需要使用系统变量
, 而我们所指的环境变量
则是是一个整体,它里面就代表了系统变量
和用户变量
所以用户变量
和系统变量
的区别就是他们的级别不一样!
如何自定义环境变量命令🧶
当我们想通过cmd
来运行一个自己定义的命令时,就会出现不是内部或外部命令,也不是可运行的程序 或批处理文件
的提示信息!
但是如果我们在cmd
中输入一个shutdown
命令则可以完全正常执行!
如图
这个原因也很简单,正因为shutdown
在环境变量中定义了它这个命令所在的路径,而test
这个命令则没有!
shutdown命令
的默认路径是在C:\Windows\System32
目录下, 包括一些常见的cmd
命令其实都在这个目录下
如图
而C:\Windows\System32
这个路径也是默认安装系统的时候就被定义在了环境变量
当中, 就跟之前定义QQ
应用程序也是一个道理!
如图
所以根据这个道理我们也可以自定义一个环境变量
来进行调用!
要知道变量、变量
就是一个可变化的量
我们就利用这个特点来自己定义一个系统变量
然后调用它来打开某个应用程序!
举个梨子
我这里要打开微信,当然你完全可以依照之前的办法在path
中把微信的WeChat.exe
路径加入到其中, 但是这样子做不够灵活!
我们可以先在系统变量中定义一个weixin
然后值
设置为微信目录地址!
我的地址为:D:\腾讯软件\WeChat
选择系统变量
点击新建
输入变量名
和值
变量名
英文即可!
值
就是微信的路径
如图
设置好了之后,我们现在就可以对它进行调用!
然后再path
中把刚刚自定义好的weixin
这个变量加入到其中,格式为%变量名%
如图
这样一来以后你只需要去修改变量
的值 path
中就会自动获取到了!
接下来就可以去cmd
中尝试一下打开这个应用程序吧!
所以通过以上的操作,只要是在cmd
中去执行的应用,其位置均储存在环境变量
目录值中,我们在执行cmd
中的应用时,其实就是在遍历环境变量
所有应用程序的位置, 并且查看其中有没有该程序!
如果没有就会提示未找到
这种信息,如果在环境变量
中找到了你在cmd
中输入的命令,那么通过环境变量
就可以直接去找到该程序并且执行!
为什么编程开发要配置环境变量🎓
知道什么是环境变量
以后,现在应该明白我们在开发java、python、php
之前需要配置的环境变量的原因了吧
举个梨子
比如Java
我们就需要把JDK
的bin目录
添加到环境变量
的path
中,这样我们就可以在任意目录下使用bin
下面的.exe可执行程序,javac.exe、java.exe
javac.exe
用来处理.java
源代码文件,是把源代码文件编译
为字节码文件
的一个工具,经过javac.exe
这个工具编译java源代码文件
后形成的.class
就是字节码文件
java.exe
用来处理.class字节码文件
进行执行的,也就是JVM
解释执行java
程序, 从而实现java
程序的运行
而他们都在bin
目录下, 这都是为了能够方便的使用这些开发语言所带有的编译解释工具和命令, 所以我们才要配置环境变量
如图
要知道这也正是很多新手朋友刚刚入门java
的一个难题, 如果环境变量
配置不成功,在cmd
中去输入java
就会提示找不到某某
的关键词 对吧!
然而java
的应用程序开发包就在安装JDK
目录下面的bin
目录中, 并且所有跟Java
相关的工具都在bin
目录中!
所以在开始学习java
或者其他一些开发语言的时候,为了操作方便必须要配置一下环境变量
从而达到能够正常运行java
的环境, 其他一些语言也是以此类推!
环境变量的一些小玩法😅
既然我们知道了环境变量
中的path
可以被系统自动检索,那么我们就也利用这个特点来做一些配置!
举个梨子
我们可以指定某个文件夹下的所有.exe
执行程序都可以直接在命令行终端
里输入其名称,并且直接打开!
你可以提前准备好一些.exe程序
,并放入到一个tools
的目录中,比如你把这个目录建立在D:盘
下
如图
然后你只需要把这个D:\tools
路径配置到环境变量
的path
当中
如图
现在就可以通过命令行终端
直接输入其执行程序的名称来直接打开了!
如图
但是这种办法 可能会有一些弊端, 因为有些.exe执行程序
你拷贝到另外的文件夹是无法被正常打开的!
既然是环境变量
我们就要用变量
的特性来解决这个问题, 也就是用变量访问
指定文件夹列表的方式!
我们可以在系统变量
当中自定义一个变量名
为TOOLS
那么它的值为如下
D:\Microsoft VS Code;D:\PotPlayer64;D:\Typora;D:\ReNamer;D:\Bandizip
也就是我们把vscode、PotPlayer、typora、renamer、bandizip
这几种应用的路径
都赋值到一个变量
当中
如图
注意:
第一次输出的时候,需要这样进行输入,以后再添加直接点击编辑就可以了
也就是以下这个样子
也就是把多个路径映射
到一个变量
上
然后再把这个TOOLS
变量添加到系统变量
中的Path
下, 加入的格式就为%自定义的变量名%
如图
这样子我们就可以通过终端命令行
来快速启动这些应用了, 当然前提你要知道这些应用执行程序的名称!
如图
最后🤗
看到这里了想必你已经对环境变量
也应该有一个基本的认识了吧,也不会对环境变量
的配置感到复杂了!
环境变量
还有更多的玩法,也期待小伙伴勇于去发现其中的奥秘!🤗
"👍点赞" "✍️评论" "💙收藏"