环境变量不生效,echo %PATH%和实际值不一样的问题(彻底解决)


win11环境变量对不上,折腾半天,终于尝试了所有方法找到原因


一、打开cmd ,输入echo %PATH% 查看变量详情,如下

在这里插入图片描述
这里我们可以看到实际上电脑的环境变量。下面是编辑环境变量弹窗里面的:
在这里插入图片描述

这时候发现,实际环境变量和框内的值不一样(图中是修改过的)


二、解决方法(按可能性排序,最难查到的是第4点)

  1. 在编辑完环境变量后,一定要点确定直到环境变量框关闭,才会生效。

  2. 环境变量是有优先级的,比如我有两个java.exe,一个在%JAVA_HOME%\bin下,一个在D:\soft\VM\bin\ 下,那么,你实际要用的那个必须上移到第一位,才会生效。如图:
    在这里插入图片描述

  3. 不生效的时候,打开cmd,输入set PATH=c,这个并不是网上说的更新的意思,而是将当前cmd窗口的环境变量变成字符串c,再退出cmd,想要实现重新读取环境变量的意思。
    所以步骤就是可以set PATH=c后关闭窗口,重新开个cmd再echo %PATH%。

  4. 上面3步过后,环境变量窗口改的值还是不生效,寻找之下,发现是有缓存脚本的,打开注册表编辑器(win+r,输入regedit),寻找路径计算机\HKEY_CURRENT_USER\Software\Microsoft\Command Processor ,下面有个Autorun的属性,该路径就是你本机自动赋值环境变量的脚本,可以选择把文件里面都注释掉(rem是cmd脚本的注释),也可删掉那个文件,set PATH=c或重启电脑后,你需要的环境变量就生效了。

在这里插入图片描述
在这里插入图片描述

  1. 相信万能重启,重启电脑,重装系统(bushi)。。。

打假之风盛行,台海风雨再起,一切都在走向美好的未来。


PS:比较难理解为什么有这种脚本的存在。

### 如何在Linux命令行终端中设置配置环境变量 在 Linux 系统中,可以通过多种方法在命令行终端中设置配置环境变量。以下是具体的方法: #### 方法一:临时设置环境变量 可以在当前 shell 会话中通过 `export` 命令临时定义一个环境变量。这种设置仅适用于当前的 shell 会话,在关闭终端后即失效。 ```bash export VARIABLE_NAME=value ``` 例如,如果想创建名为 `MY_VAR` 的环境变量并赋为 `hello`,可以执行以下命令[^1]: ```bash export MY_VAR=hello ``` 验证是否成功设置可通过以下命令查看其: ```bash echo $MY_VAR ``` #### 方法二:永久设置环境变量 为了让环境变量在每次打开新的 terminal 或重新登录系统时都存在,需将其写入特定的配置文件中。常见的做法有以下几种: ##### 使用 `.bashrc` 文件 (针对 Bash Shell 用户) 编辑用户的主目录下的 `.bashrc` 文件,并添加如下内容: ```bash export VARIABLE_NAME=value ``` 保存文件后,使更改生效可运行: ```bash source ~/.bashrc ``` 这种方法只会影响当前用户[^3]。 ##### 配置全局环境变量 对于需要影响所有用户的环境变量,则应修改 `/etc/profile` 或者 `/etc/environment` 文件。例如,在 `/etc/profile` 中追加一行: ```bash export GLOBAL_VARIABLE=value ``` 之后让改动立即生效可用: ```bash source /etc/profile ``` 或者重启计算机以应用这些变化[^4]。 #### 注意事项 - **PATH 变量**: 特别注意的是 PATH 是一种特殊的环境变量, 它包含了多个用于查找可执行文件的位置列表。向其中增加新路径时通常采用下面的形式: ```bash export PATH=$PATH:/new/path/to/add ``` 这样做的目的是保留原有路径的同时加入新的搜索位置。 总结来说,无论是调试还是日常操作,合理利用环境变量能够极大地方便开发者的工作流程以及提高效率。记住同的场景可能适合一样的设定策略——有时只需要简单的 session-level 设置即可满足需求;而其他时候则有必要考虑持久化存储以便长期使用。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值