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)。
相关推荐
日取其半万世不竭5 分钟前
LVM 逻辑卷管理:不停机扩容磁盘的正确方式
运维·服务器
优化Henry16 分钟前
TDD-LTE站点Rilink=3链路故障处理案例---BBU侧C口“有发光、无收光”的排查与恢复
运维·网络·信息与通信·tdd
浪客灿心17 分钟前
Linux网络传输层协议
linux·运维·网络
舟遥遥娓飘飘1 小时前
Nexus4CC 手机电脑同步claude code对话部署教程(基于linux系统)
linux·智能手机·电脑
V搜xhliang02461 小时前
OpenClaw科研全场景用法:从文献到实验室的完整自动化方案
运维·开发语言·人工智能·python·算法·microsoft·自动化
何妨呀~1 小时前
Firewalld防火墙端口配置
linux
切糕师学AI1 小时前
Vim 深度解析:从经典 vi 到现代编辑器之巅
linux·vim·文本编辑器
遇见火星1 小时前
Nginx限流配置:防止接口被刷,服务器稳如泰山
运维·服务器·nginx
计算机安禾1 小时前
【Linux从入门到精通】第49篇:服务器故障排查终极指南——思路决定出路
linux·运维·服务器
古月-一个C++方向的小白2 小时前
Linux——初识文件
linux·运维·服务器