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)。
相关推荐
三体世界1 小时前
TCP传输控制层协议深入理解
linux·服务器·开发语言·网络·c++·网络协议·tcp/ip
zkmall1 小时前
企业电商平台搭建:ZKmall开源商城服务器部署与容灾方案
运维·服务器·开源
路先生的杂货铺1 小时前
mac m1芯片 安装pd及win10系统
macos
goodmao1 小时前
【macOS】【Swift】【RTF】黑色文字在macOS深色外观下看不清的解决方法
macos
华不完1 小时前
下一代防火墙混合模式部署
运维·服务器·网络
x县豆瓣酱1 小时前
ubuntu server配置静态IP
linux·运维·ubuntu
工藤新一¹1 小时前
Linux
linux·运维·服务器
互联网搬砖老肖2 小时前
运维打铁: 阿里云 ECS 实例的高效运维与管理
运维·阿里云·云计算
longze_72 小时前
frp内网穿透下创建FTP(解决FTP“服务器回应不可路由的地址。使用服务器地址替代”错误)
运维·服务器·网络
瓦力wow2 小时前
数据分析-名词
运维·服务器·数据分析