CMD,PowerShell、Linux/MAC设置环境变量

以下是 CMD(Windows)、PowerShell(Windows)、Linux/Mac临时/永久 环境变量操作上的对比表格:


环境变量操作对照表(CMD vs PowerShell vs Linux/Mac)

操作 CMD(Windows) PowerShell(Windows) Linux/Mac(Bash/Zsh)
设置临时变量 set VAR=value $env:VAR = "value" export VAR=value
查看变量 echo %VAR% echo $env:VAR echo $VAR
删除临时变量 set VAR= Remove-Item Env:\VAR unset VAR
设置永久变量(用户级) setx VAR "value" [Environment]::SetEnvironmentVariable("VAR", "value", "User") ~/.bashrc~/.zshrc 添加 export VAR=valuesource ~/.bashrc
设置永久变量(系统级) setx VAR "value" /M(需管理员) [Environment]::SetEnvironmentVariable("VAR", "value", "Machine")(需管理员) /etc/environment/etc/profile 添加 export VAR=valuesource /etc/profile
查看所有变量 set Get-ChildItem Env: envprintenv
删除永久变量(用户级) setx VAR "" [Environment]::SetEnvironmentVariable("VAR", "", "User") ~/.bashrc~/.zshrc 删除对应行并 source ~/.bashrc
删除永久变量(系统级) setx VAR "" /M(需管理员) [Environment]::SetEnvironmentVariable("VAR", "", "Machine")(需管理员) /etc/environment/etc/profile 删除对应行并 source /etc/profile

注意事项

  1. 临时变量:仅在当前终端窗口有效,关闭后失效。

  2. 永久变量

    • Windows :需重启终端或运行 refreshenv(PowerShell)生效。
    • Linux/Mac :修改配置文件后需运行 source 或重启终端。
  3. 系统级变量(Windows/Linux):需要管理员权限。

  4. Linux/Mac 的配置文件可能不同:

    • ~/.bashrc(Bash)
    • ~/.zshrc(Zsh)
    • /etc/environment(全局,不推荐直接修改)

示例(以 DASHSCOPE_API_KEY 为例)

1. 临时设置(当前终端有效)
终端类型 命令
CMD set DASHSCOPE_API_KEY=your-key
PowerShell $env:DASHSCOPE_API_KEY = "your-key"
Linux/Mac export DASHSCOPE_API_KEY=your-key
2. 永久设置(用户级)
终端类型 命令
CMD setx DASHSCOPE_API_KEY "your-key"
PowerShell [Environment]::SetEnvironmentVariable("DASHSCOPE_API_KEY", "your-key", "User")
Linux/Mac ~/.bashrc 添加 export DASHSCOPE_API_KEY=your-key 并运行 source ~/.bashrc
3. 删除变量
终端类型 临时删除 永久删除
CMD set DASHSCOPE_API_KEY= setx DASHSCOPE_API_KEY ""
PowerShell Remove-Item Env:\DASHSCOPE_API_KEY [Environment]::SetEnvironmentVariable("DASHSCOPE_API_KEY", "", "User")
Linux/Mac unset DASHSCOPE_API_KEY ~/.bashrc 删除行并 source ~/.bashrc

总结

  • 临时变量:适用于测试,关闭终端后失效。

  • 永久变量:写入配置文件或注册表,长期有效。

  • 跨终端兼容性

    • CMD 和 PowerShell 不共享临时变量。
    • Linux/Mac 的变量对所有终端(Bash/Zsh)生效(如果写入 ~/.bashrc~/.zshrc)。
相关推荐
凡人叶枫7 分钟前
C++中智能指针详解(Linux实战版)| 彻底解决内存泄漏,新手也能吃透
java·linux·c语言·开发语言·c++·嵌入式开发
yuanmenghao29 分钟前
Linux 性能实战 | 第 7 篇 CPU 核心负载与调度器概念
linux·网络·性能优化·unix
qq_2975746742 分钟前
Linux 服务器 Java 开发环境搭建保姆级教程
java·linux·服务器
普通网友1 小时前
苹果笔记本(Mac)连接手机完全指南
macos·智能手机
70asunflower1 小时前
Emulation,Simulation,Virtualization,Imitation 的区别?
linux·docker
聆风吟º2 小时前
CANN开源项目实战指南:使用oam-tools构建自动化故障诊断与运维可观测性体系
运维·开源·自动化·cann
NPE~2 小时前
自动化工具Drissonpage 保姆级教程(含xpath语法)
运维·后端·爬虫·自动化·网络爬虫·xpath·浏览器自动化
神梦流2 小时前
GE 引擎的内存优化终局:静态生命周期分析指导下的内存分配与复用策略
linux·运维·服务器
凡人叶枫2 小时前
C++中输入、输出和文件操作详解(Linux实战版)| 从基础到项目落地,避坑指南
linux·服务器·c语言·开发语言·c++
wdfk_prog2 小时前
[Linux]学习笔记系列 -- [drivers][input]serio
linux·笔记·学习