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)。
相关推荐
金色熊族28 分钟前
ubuntu20.04编译qt源码5.15.3
linux·c++·qt
一勺菠萝丶1 小时前
macOS 终端配置全攻略:zsh、bash_profile、zprofile、zshrc 到 nvm 配置的完整科普
macos·bash·策略模式
zhaotiannuo_19982 小时前
【Linux CentOS 7 版本更换yum源】
linux
利刃大大2 小时前
【高并发服务器:前置知识】一、项目介绍 && 模块划分
运维·服务器·高并发·项目·cpp
aitav02 小时前
⚡ WSL2 搭建 s5p6818 Linux 嵌入式开发平台(part 1):环境准备与架构设计
linux·嵌入式·wsl·wsl2
init_23613 小时前
路由策略和流量策略的常见配置
运维·服务器·网络
一袋米扛几楼983 小时前
【软件安全】fgets / strncpy / gets(不安全) / snprintf的对比
linux·服务器·安全
cpsvps4 小时前
海外云服务器压力测试,如何评估服务器性能与稳定性
运维·服务器·压力测试
防搞活机4 小时前
ubuntu 服务器(带NVLink)更新显卡驱动 (巨坑!!)
linux·服务器·深度学习·ubuntu·gpu算力·显卡驱动
不是编程家4 小时前
Linux第二十二讲:数据链路层 && NAT && 代理服务 && 内网穿透
linux·运维·服务器