zoukankan      html  css  js  c++  java
  • 为什么我们需要配置环境变量

    之前学习 Java 的时候,感觉最难做的一件事情就是配置 jdk 的环境。那叫一个困难啊,Path, JAVA_HOME, CLASSPATH 印象深刻的很…(但是现在 JDK11 不用再配置 classpath 了,jre 和 jdk 合并了)
    就在去年暑假,要配 OpenCV 的环境,要调的东西还是比较多的,对环境配置的概念又加深了。
    现在懂的多了,配过的环境也多了,配过的平台也不算少。现在就想分享一下 关于我对配环境这件事情的感受。

    那就以 Windows 来说说环境配置的问题,Linux 下的其实差不多。

    为什么需要环境变量

    我记得计算机网络的老师在给我们讲 ip/mac 地址 的时候提过一个例子:

    你刚到这个班,班里都是新同学,你想找班里的小明同学该怎么办?
    答:在班里喊一声小明。这当然可以,小明肯定会响应你。对局域网来说也是如此。
    但是,如果有一张座位表,上面有每个同学的座位信息,你想找到某个人是不是就很简单了。

    环境变量也是如此,也很适合这个例子。
    当用户在 cmd 中执行一个命令的时候,命令行的解释器就会去找你要执行的命令。
    那么是去哪里找可执行的命令呢?两个地方:

    • 当前路径下的可执行文件
    • 环境变量 Path 中保存的路径下的可执行文件(包括系统变量和用户变量)

    举个例子

    举个栗子:
    win + r 大家都用过吧,经常用来快速运行某些程序,比如打开命令行窗口我们就会用到:
    打开 cmd

    那电脑是怎么知道 cmd 在哪儿的呢?
    在Everything搜索cmd.exe
    能看到 cmd.exe 是在 C:WindowsSystem32C:WindowsSysWOW64 这两个路径下都有的,那就是说,电脑是去这两个路径之一打开的 cmd.exe,那我们来看一下,系统环境变量里到底有没有这两个路径的其中一个呢?

    查看一下系统的环境变量中的 Path 是不是有这个路径:
    在小娜的输入框里输入 path 或者 环境 可以直接跳转到修改环境变量的地方,不行的话只能在计算机图标右键属性了。
    我的环境变量
    可以验证了吧~
    所以这个流程我们也弄清楚了:

    你在运行窗口输入 cmd:
        -> 解释器去寻找这个文件:
            -> 先寻找当前路径下是否有
            -> 再寻找环境变量中的Path保存的路径是否有
        -> 没找到就报没找到
    

    所以如果你没配置某个可执行文件到 Path 里,那你就得手动输入该文件的绝对路径才能打开了。
    比如说 Java…

    Path 外的其他字段

    其他的一些字段也是方便我们使用的,想用的时候使用 %字段名% 就能调用了。
    比如说我在系统设置里设置了 CMDER_ROOT 字段,将其赋值为 D:ArtinDcmder,这是一个路径。
    设置 CMDER_ROOT
    然后我想打开该路径,就可以使用该字段名啦:
    Snipaste

    简单来说!就是编程中的变量名。定义一个常量,想用的时候可以使用。

    用户变量和系统变量

    操作系统中有用户的概念。
    用户变量只对当前登录的用户生效。
    系统变量对当前计算机的所有用户生效。

    The desire of his soul is the prophecy of his fate
    你灵魂的欲望,是你命运的先知。

  • 相关阅读:
    @RequestParam注解使用:Name for argument type [java.lang.String] not available, and parameter name information not found in class file either.
    cglib动态代理导致注解丢失问题及如何修改注解允许被继承
    springboot Autowired BeanNotOfRequiredTypeException
    git根据用户过滤提交记录
    不同包下,相同数据结构的两个类进行转换
    How to use Jackson to deserialise an array of objects
    jooq实践
    java如何寻找main函数对应的类
    Python--matplotlib
    Python 和 Scikit-Learn
  • 原文地址:https://www.cnblogs.com/RioTian/p/13567756.html
Copyright © 2011-2022 走看看