环境变量的作用(以java指令为例)

在很多地方都会涉及到环境变量的概念,这边稍微记录一下笔记。

一、环境变量的分类

Windows中有两种环境变量:用户变量系统变量,它们的区别和作用如下所示:

  1. 环境变量不区分大小写;
  2. 系统变量对所有用户有效,用户变量只对当前用户有效;
  3. 名称是变量,值是里面的内容,也就是通过变量存储了想要存储的内容,方便调用;
  4. 每次新加了命令以后,要确定保存,再重启cmd;
  5. 在cmd中输出环境变量:ECHO %变量名%。

下面是一些例子:
在这里插入图片描述

二、变量名为Path的环境变量

在环境变量中有一个比较特殊的,名为Path,它存放了众多的路径,这些路径是告诉系统或者用户可执行文件放在什么位置。Windows系统在cmd中执行用户命令时,若用户没有给出文件的绝对路径,比如直接输入一个java/python,那么系统会如何执行呢?

执行过程

  1. 首先在当前工作目录下寻找相应的可执行文件、批处理文件,如果找到该命令对应的可执行文件则执行;
  2. 若当前目录找不到对应名的程序,就会在系统变量的Path变量下保存的路径中依次寻找对应的可执行程序文件;
  3. 如果系统变量的Path变量下保存的路径都找不到,再到用户变量的Path变量下保存的路径中依次寻找。
  4. 注意:如果同时包含该命令,优先执行系统变量下Path中保存的路径下的该命令。

下面给两个例子,第一个是不存在的命令:

在这里插入图片描述
这里的“内部”指的是smile文件夹路径,即当前路径下,“外部”指的是环境变量中存放的路径;这个命令不论在当前目录下还是环境变量Path下保存的所有路径中都不包含,所以会报错。

第二个例子是存在的命令:

在这里插入图片描述
在这个例子中,java指令是在jdk目录的bin文件夹下的,我的电脑的jdk路径为 D:\Java\jdk1.8,显然不是图中的当前目录,所以按照上述的寻找命令的过程中,第一步在当前目录是找不到的,要进行第二步,在系统变量Path下的所有路径中依次寻找该命令,我的系统变量path下保存的路径如下:
在这里插入图片描述
图中红框内就是jdk的路径,那么它就会执行这个路径下的java命令。这里将jdk的路径用JAVA_HOME变量再定义了一下,直接写路径也可以。

有了上面两个例子,应该比较好理解Path变量的作用了。如果不将可执行文件所在的路径加入环境变量Path,那么只能在该可执行文件所在的文件夹下执行它,在别的路径下就不能执行它;而如果加入了环境变量Path中,那么在任何路径都可以执行这个可执行文件。(先找“内部”,再找“外部”)
通过添加环境变量Path的内容,可以通过命令的方式来执行可执行文件。环境变量Path中存放路径是为执行的指令提供更方便的一种方式。(不用进入该命令所在的目录,在任意位置都可以执行)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/491482.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

获取应用程序信息.h

//// 获取应用程序信息.h// IOS笔记//一般会用来判断是否有新版本、是否需要强制更新iOS的版本号,一个叫做Version,一个叫做Build,这两个值都可以在Xcode 中选中target,点击“Summary”后看到。 Version在plist文件中的key是“C…

一文看懂机器视觉芯片

来源:半导体行业观察来源:半导体行业观察【导读】机器视觉之于人工智能等同于视觉之于人类,本文系统介绍决定机器视觉的两大要素——视觉算法和芯片,重点介绍国内外视觉芯片市场及发展前景,包括重量级玩家及其产品。机…

单词短语搭配用法网站

https://linggle.com/? 通配符:*(星号,英文半角)通配一个单词;_(下划线,英文半角)通配多个单词。 例如,搜索in this paper we _(注意星号前需要有空格&…

java socket编程

一,网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台…

任正非与美国思想家的咖啡对话全文

来源:华为心声、蓝血研究美国的所作所为促成了华为的觉醒,现在是华为的“人造卫星”时代!——尼古拉斯尼葛洛庞帝美国学者与任正非的咖啡对话2019年6月17日田薇:“一杯咖啡吸收宇宙能量”,我是田薇。有人说&#xff0c…

免费英文批改网站

grammarly:https://app.grammarly.com ginger:https://www.gingersoftware.com/ 批改网:http://www.pigai.org/ 易改:http://www.1checker.com/ stylewriter:http://www.stylewriter-usa.com/ whitesmoke&#xf…

python图片显示中文

首先下载simhei字体(SimHei.ttf) https://www.fontpalace.com/font-details/SimHei/ 找到matplotlib包所在文件夹 import matplotlib matplotlib.matplotlib_fname() /home/***/site-packages/matplotlib/mpl-data/matplotlibrc(每个人不一样…

人工智能推理应用于场景的四大典型方式

来源:英伟达NVIDIA中国从Alexa和谷歌地图导航等语音助手,到Bing的对话搜索,人工智能已经成为许多人日常生活的一部分。这些任务需要执行深度学习推理,也可以被认为是将人工智能应用于场景。为人工智能提供动力的深度学习神经网络是…

JSTL标签库中fmt标签,日期,数字的格式化

首先介绍日期的格式化:(不要嫌多哦) JSTL格式化日期&#xff08;本地化&#xff09; 类似于数字和货币格式化&#xff0c;本地化环境还会影响生成日期和时间的方式。 <% page pageEncoding"UTF-8" %><% taglib prefix"c" uri"http://java.su…

LaTeX引用多篇bibtex格式文献

首先找到要引用的文献的bibtex格式&#xff08;谷歌学术的引用上有&#xff09;&#xff0c;如下图所示 其中"girshick2015fast"是该文献的标签(待会引用这篇文献时会用到)&#xff0c;可以自己重命名 将要引用的全部文献的bibtex格式放到一个txt文件上&#xff08;…

Libra白皮书面世 正确解读Facebook野心需注意这些点

来源&#xff1a;全链财经北京时间6月18日下午消息&#xff0c;Facebook的加密货币“Libra”相关网站正式上线&#xff0c;Facebook还发布了这款加密货币的白皮书。据coindesk报道称&#xff0c;Libra将在由100个分布式计算机服务器或节点启动的区块链网络上运行。目前有28个节…

网址的bibtex格式

用LaTeX引用网址时&#xff0c;可以将网址写成以下bibtex格式&#xff1a; misc{name,author {author names},title {This is title},howpublished{\url{http://www.this is url/}},year {2000}} 在导言去加入url包&#xff0c;即\usepackage{url} 如果想设置引用文献里网…

[Mac]Python 安装MySQLdb模块

今天我需要用python操作Mysql数据库&#xff0c;需要安装第三方MySQLdb模块&#xff08;下载地址&#xff1a;http://mysql-python.sourceforge.net&#xff09;&#xff0c;但是执行sudo python setup.py install时&#xff0c;提示缺少“mysql_config”文件,解决这个问题需要…

matlab保存colormap失败

自己辛苦手动调节的colormap想保存下来发现并没有保存&#xff0c;可以试试以下代码&#xff1a; ax gca; mycmap colormap(ax); save(MyColormaps,mycmap) 下次调用这个自定义的colormap时&#xff1a; load MyColormaps colormap(mycmap) 或者 ax gca; load MyColorm…

洪小文清华论道:AI 的前生今世及未来应用图景

来源&#xff1a;微软丹棱街5号丹棱君有话说&#xff1a;这是一场解析了 AI 前世今生及未来应用图景的演讲&#xff0c;一场经济学家与科学家的问答&#xff0c;将会对撞出怎样的思想火花&#xff1f;6月13日&#xff0c;微软全球资深副总裁、微软亚太研发集团主席兼微软亚洲研…

ios获取本地音乐库音乐很详细 扫描IPHONE本地音乐文件,获得音乐名,歌手名代码示例...

//扫描本地音乐文件&#xff0c;返回艺术家列表 需要库MediaPlayer.framework -(NSArray*) findArtistList { NSMutableArray *artistList [[NSMutableArray alloc]init]; MPMediaQuery *listQuery [MPMediaQuery playlistsQuery];//播放列表 NSArray *playl…

The value of a feed cannot be a tf.Tensor object.

使用tf.data.Dataset时出现报错“The value of a feed cannot be a tf.Tensor object.” session.run(train_op, feed_dict{model.image_4d:x,model.y:y}) 如上面的代码&#xff0c;tf.data.Dataset生成的是x和y是tensor&#xff0c;所以现将x和y转为numpy格式 x, y sessio…

中国学者变革300多年来的活塞!MIT、哈佛联手,动力3倍以上,可节能40%

来源&#xff1a;机器人大讲堂导读麻省理工学院&#xff08;MIT&#xff09;和哈佛大学的研究团队合作设计出了一种使用柔性材料的新型活塞&#xff0c;动力是传统活塞的3倍以上&#xff0c;且最多可节能40%。这种柔性活塞有望从根本上改变汽车发动机、机械臂、起重机、减震器和…

网络协议及IP地址分类

网络协议&#xff08;Protocol&#xff09;是一种特殊的软件&#xff0c;是计算机网络实现其功能的最基本机制。网络协议的本质是规则&#xff0c;即各种硬件和软件必须遵循的共同守则。网络协议并不是一套单独的软件&#xff0c;它融合于其他所有软件系统中&#xff0c;因此可…

Android中Parcelable接口用法

Android中Parcelable接口用法 1. Parcelable接口 Interface for classes whose instances can be written to and restored from a Parcel。 Classes implementing the Parcelable interface must also have a static field called CREATOR&#xff0c; which is an object imp…