当前位置: 首页 > news >正文

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:VARecho $VAR
删除临时变量set VAR=Remove-Item Env:\VARunset 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
查看所有变量setGet-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. 临时设置(当前终端有效)
终端类型命令
CMDset DASHSCOPE_API_KEY=your-key
PowerShell$env:DASHSCOPE_API_KEY = "your-key"
Linux/Macexport DASHSCOPE_API_KEY=your-key
2. 永久设置(用户级)
终端类型命令
CMDsetx 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. 删除变量
终端类型临时删除永久删除
CMDset DASHSCOPE_API_KEY=setx DASHSCOPE_API_KEY ""
PowerShellRemove-Item Env:\DASHSCOPE_API_KEY[Environment]::SetEnvironmentVariable("DASHSCOPE_API_KEY", "", "User")
Linux/Macunset DASHSCOPE_API_KEY~/.bashrc 删除行并 source ~/.bashrc

总结

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

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

  • 跨终端兼容性

    • CMD 和 PowerShell 不共享临时变量。
    • Linux/Mac 的变量对所有终端(Bash/Zsh)生效(如果写入 ~/.bashrc~/.zshrc)。
http://www.dtcms.com/a/271914.html

相关文章:

  • MacOS 终端(Terminal)配置显示日期时间
  • 政安晨【开源人工智能硬件】【ESP乐鑫篇】 —— 在macOS上部署工具开发环境(小资的非开发者用苹果系统也可以玩乐鑫)
  • Canny边缘检测(cv2.Canny())
  • Mac自定义右键功能
  • 如何在Linux上搭建本地Docker Registry并实现远程连接
  • 【TCP/IP】6. 差错与控制报文协议
  • Rust Web 全栈开发(四):构建 REST API
  • llvm, polly, 向量化测试,GEMM非常明显
  • ValueConverter转换器WPF
  • Leetcode力扣解题记录--第42题 接雨水(动规和分治法)
  • 开源 Arkts 鸿蒙应用 开发(六)数据持久--文件和首选项存储
  • [特殊字符] LLM(大型语言模型):智能时代的语言引擎与通用推理基座
  • 藏文识别技术的关键挑战与解决方案
  • 使用Visual Studio Code附加到Jetty进程调试Servlet
  • 小皮面板搭建pikachu靶场
  • 710 Mybatis实战
  • Go语言中map的零值是什么?对零值map进行读写操作会发生什么?如何正确初始化和使用map?
  • 力扣-73.矩阵置零
  • 【会员专享数据】2013-2024年我国省市县三级逐年SO₂数值数据(Shp/Excel格式)
  • 2025年材料应用与计算机科学国际会议(MACS 2025)
  • C++中的左值、右值与std::move()
  • 数据 + 模型 驱动 AI Native 应用发展
  • 利用DBeaver实现异构数据库数据定时任务同步
  • 计算机网络实验——以太网安全实验
  • Flutter 知识点总结
  • React虚拟DOM的进化之路
  • Vue.js 过渡 动画
  • 如何在Flutter开发中系统性减少知识盲区
  • 使用 FreeRTOS 实现简单多任务调度(初识 RTOS)
  • Excalidraw:一款轻量、高效、极具手感的在线白板工具