IE盒子

搜索
查看: 104|回复: 0

你在开玩笑吧 居然还有人不知道为什么开发Java、Python ...

[复制链接]

2

主题

5

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2023-4-10 09:54:38 | 显示全部楼层 |阅读模式




你在开玩笑吧! 居然还有人不知道为什么要配置环境变量?
前言概述
你在开始学习编程的时候,首先就会接触到 环境变量
例如 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 下, 加入的格式就为 %自定义的变量名%
如图




这样子我们就可以通过 终端命令行 来快速启动这些应用了, 当然前提你要知道这些应用执行程序的名称!
如图






看到这里了想必你已经对 环境变量 也应该有一个基本的认识了吧,也不会对 环境变量 的配置感到复杂了!
环境变量 还有更多的玩法,也期待小伙伴勇于去发现其中的奥秘!珞


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表