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)。
相关推荐
花嫁代二娃10 分钟前
Linux:环境变量
linux
乌托邦的逃亡者1 小时前
Docker的/var/lib/docker/目录占用100%的处理方法
运维·docker·容器
ldj20201 小时前
Jenkins 流水线配置
运维·jenkins
古希腊数通小白(ip在学)4 小时前
stp拓扑变化分类
运维·服务器·网络·智能路由器
l1x1n05 小时前
Vim 编辑器常用操作详解(新手快速上手指南)
linux·编辑器·vim
12点一刻6 小时前
搭建自动化工作流:探寻解放双手的有效方案(2)
运维·人工智能·自动化·deepseek
未来之窗软件服务6 小时前
东方仙盟AI数据中间件使用教程:开启数据交互与自动化应用新时代——仙盟创梦IDE
运维·人工智能·自动化·仙盟创梦ide·东方仙盟·阿雪技术观
ajassi20007 小时前
开源 python 应用 开发(三)python语法介绍
linux·python·开源·自动化
o不ok!7 小时前
Linux面试问题-软件测试
linux·运维·服务器
DaxiaLeeSuper7 小时前
Prometheus+Grafana+node_exporter监控linux服务器资源的方案
linux·grafana·prometheus