文章目录
前言
提示:技术挺好,环境变量配置这样简单的事情,却调试耗时很久,很不应该是不是,哈哈!那么此篇文章,讲述一下windows,linux的环境变量
有趣的事总是在不经意间!
–
作为软开技术人,我们都知道,每一门语言或者技术,基本一开始都是从运行配置或开发环境配置开始,那么在如此多次的配置中,你是如何配置的呢?是不是按照书籍或博客教程进行的配置,这就导致很多人并不知道系统中环境变量到底是干什么的?为什么要在环境变量中配置他们?配置他们又有哪些语法?
注:下面进行简单的叙述,如果你正在看这篇博文,你可能遇到环境变量相关bug或问题,如果还将IT技术中的 bug认为是玄学,那么请重视基础,哈哈,否则你将陷入你所谓的玄学中不可自拔。开个玩笑,下面进入正题
一、环境变量是什么?
环境变量由字典键和字典值构成,存放程序运行时所需要的必要信息,构成系统运行环境的一些参数。这些变量作为一种手段,向软件传达基本信息,并塑造它们如何与环境交互。
此类型为 System.Collections.DictionaryEntry。 变量的名称是字典键, 环境变量的值是字典值。 名称是等同于键的 AliasProperty
用户通过设置环境变量,来更好的运行进程 。
1、windows环境变量
PATH变量的值,对于多个路径写在一行时用“;”分隔开,可以直接写绝对路径,也以“%键%”表示值.(建议用变量形式)。
比如环境中,我配置了NVM运行所需的环境,配置为NVM_HOME ,键值: D:/nvm
那么在PATH添加,为 D:/nvm或者也可以这样写 %NVM_HOME%也是没有问题的。
注意:
- windows系统里的环境变量,键不区分大小写,除Path键外。
- 获取变量优先级 临时变量 > 用户变量 > 系统变量,即对于某一键,若临时变量中存在,仅返回临时变量值,若临时变量不存在且用户变量存在,仅返回用户变量值,若临时变量和用户变量均不存在,则返回系统变量的值或返回空,若临时变量存在Path,仅返回临时变量值,否则返回为系统变量和用户变量值的并集。
- 环境变量修改后,想要变量生效,可以直接用指令refreshenv ,清除缓存,并重新启动。
2、linux系统环境变量
变量分为环境变量和shell变量
shell环境依赖于多个文件的设置。当shell被调用时,它从两个初始文件读取命令。/etc/profile包含了系统变量,它由系统管理员维护,由系统管理员设置本地系统变量和特殊命令。普通用户的启动信息文件($HOME/.bash_project)由各用户自己维护,该文件可以被修改以实现任何特定的系统初始化。
环境变量:环境变量在系统范围内可用且有效,脚本和应用程序可以使用环境变量,这些变量由所有生成的子进程和 shell 继承,按照惯例,环境变量的名称都是大写的。
shell 变量: shell 变量仅仅在当前 shell 会话中可用, 一般用于临时储存值的场景,每个 shell (如 zsh 和 bash )都有自己的一组内部 shell 变量。
二、环境变量的设置方法
1、windows
通常是使用 系统高级设置里的环境变量配置,进行手动修改,保存后,然后重启系统。当然也可以用cmd的 refreshenv来更新配置生效。
分为系统环境变量,用户环境变量。二者区别是 用户环境变量只对当前用户有效。而系统变量是全局有效。
还可以用指令的形式。
以管理员权限来运行cmd,WIN+R+CMD,启动命令行
查看所有环境变量
> > > set
C:\WINDOWS\system32>set
ALLUSERSPROFILE=C:\ProgramData
anaconda=D:\ProgramData\Anaconda3\Scripts
APPCODE_VM_OPTIONS=C:\Users\86150\Downloads\jetbra\vmoptions\appcode.vmoptions
APPDATA=C:\Users\86150\AppData\Roaming
ChocolateyInstall=C:\ProgramData\chocolatey
ChocolateyLastPathUpdate=133243574********
CLION_VM_OPTIONS=C:\Users\86150\Downloads\jetbra\vmoptions\clion.vmoptions
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=DESKTOP-776E0K*
ComSpec=C:\WINDOWS\system32\cmd.exe
CUDA_PATH=D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
CUDA_PATH_V10_0=D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
DATAGRIP_VM_OPTIONS=C:\Users\86150\Downloads\jetbra\vmoptions\datagrip.vmoptions
DATASPELL_VM_OPTIONS=C:\Users\86150\Downloads\jetbra\vmoptions\dataspell.vmoptions
DEVECOSTUDIO_VM_OPTIONS