版本说明:2026最新整合版,无损收录桌面、服务器、移动、IoT、嵌入式、实时系统、历史经典全系平台,包含配置命令、文件路径、生效规则、权限要求、实操示例、常见坑点

通用前置说明:所有系统临时变量仅当前会话有效,退出终端、重启设备即清空;永久配置需修改对应配置文件或系统注册表,按对应规则生效

一、Windows系统(全版本覆盖)

适配版本:Win7/10/11、Server 2008~2025、Win9x/2000、MS-DOS

路径分隔符:;

1.1 图形界面配置(用户/系统环境变量)

入口:此电脑右键 → 属性 → 高级系统设置 → 环境变量

用户变量:仅当前用户生效;系统变量:全设备所有用户生效(需管理员权限)

生效方式:常规修改后关闭原有CMD/PowerShell,重新打开终端即可生效;全局彻底生效可注销用户或重启电脑

快速刷新命令(PowerShell,无需重开终端):refreshenv

CMD子窗口刷新(不关闭原窗口):set PATH=C && start cmd /k set&&path

1.2 CMD命令行操作

临时变量(仅当前终端窗口,关闭失效):set 变量名=值

永久变量(写入注册表):setx 变量名 "值"

注意:必须新开终端加载生效;单条变量内容≤1024字符,不支持换行

1.3 PowerShell命令行操作

临时变量(当前会话有效):$env:变量名="值"

永久用户变量:[Environment]::SetEnvironmentVariable("变量名","值","User")

永久系统变量(管理员权限):[Environment]::SetEnvironmentVariable("变量名","值","Machine")

1.4 实操示例

setx JAVA_HOME "C:\Program Files\Java\jdk17"

setx PATH "%PATH%;%JAVA_HOME%\bin"

1.5 历史旧版本配置

适配:Win9x/2000、MS-DOS

配置文件:autoexec.bat、config.sys

配置写法:set PATH=C:\Windows;C:\Tools

生效方式:重启设备

1.6 常见坑点

1. setx命令变量超长会被自动截断,长路径建议使用图形界面配置;

2. 旧终端不会自动加载新环境变量,修改配置后务必新开终端。

二、Linux系统(全发行版+嵌入式+历史版本)

适配版本:Ubuntu、Debian、RHEL、CentOS、Arch、OpenWrt、Yocto、早期Slackware

默认Shell:bash / zsh

路径分隔符::

配置优先级(从高到低):~/.bashrc > ~/.bash_profile/.profile > /etc/profile.d/*.sh > /etc/profile > /etc/environment

2.1 临时变量(当前终端会话,退出失效)

export 变量名=值

2.2 用户级永久配置(仅当前用户)

1. 编辑配置文件:vi ~/.bashrc,写入export 变量名=变量值

2. 即时生效(二选一):source ~/.bashrc. ~/.bashrc

补充:登录Shell推荐配置 ~/.bash_profile,生效命令一致

2.3 系统级全局配置(所有用户,需管理员)

方式1(核心配置文件):

sudo vi /etc/profile(写入export配置)

sudo source /etc/profile

方式2(纯键值配置):

sudo vi /etc/environment(直接写入:变量名="变量值",无需export)

方式3(模块化推荐配置):

sudo vi /etc/profile.d/自定义文件名.sh(写入export配置)

sudo chmod +x /etc/profile.d/自定义文件名.sh

2.4 嵌入式Linux专属配置(OpenWrt/Yocto

常用配置文件:~/.profile、/etc/profile、/etc/environment

生效方式:source 对应配置文件

内核启动参数查看:cat /proc/cmdline

2.5 历史旧版本(早期Slackware

核心配置文件:~/.bashrc、/etc/profile

生效方式:source 配置文件 或 重新登录用户

2.6 实操示例

export PATH=$PATH:/usr/local/bin

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk

2.7 常见坑点

1. 仅修改.bashrc可能导致登录Shell无法加载变量,建议同步配置.bash_profile;

2. sudo执行命令会丢失当前用户变量,可使用sudo -E保留变量或修改系统级配置。

三、macOS系统(全历史+最新版本)

适配版本:10.6~最新版,10.15+默认Zsh,旧版默认Bash

路径分隔符::

3.1 Zsh配置(macOS 10.15 Catalina及以上主流版本)

交互终端配置:

vi ~/.zshrc(写入export配置)

source ~/.zshrc

登录Shell专属配置:

vi ~/.zprofile

source ~/.zprofile

3.2 Bash配置(10.14及更早旧版本)

vi ~/.bash_profile

source ~/.bash_profile

备选文件:~/.bashrc

3.3 GUI图形应用变量同步(核心必备)

终端变量默认与图形应用不互通,需单独配置:launchctl setenv 变量名 值

生效方式:重启对应图形应用

3.4 系统级全局配置(管理员权限)

sudo vi /etc/profile

sudo source /etc/profile

3.5 临时变量(当前终端,退出失效)

export 变量名=值

3.6 实操示例

export PATH=$PATH:/usr/local/bin

export ANDROID_HOME=~/Library/Android/sdk

3.7 常见坑点

图形界面应用无法读取终端环境变量,必须通过launchctl setenv命令单独配置同步。

四、Android系统(全移动版本)

适配版本:4.4~最新版,基于Linux内核,通过ADB工具操作

4.1 临时变量(adb shell/设备终端)

adb shell

export 变量名=值

失效规则:退出Shell、重启设备即清空

4.2 系统持久属性(调试首选,无需Root

设置属性(persist.前缀,重启保留):adb shell setprop persist.变量名 值

查看属性:adb shell getprop persist.变量名

4.3 永久全局配置(需Root权限/刷机)

配置文件:/etc/profile、/init.rc、/system/etc/environment

生效命令:source /etc/profile

生效规则:命令执行即时生效,重启设备永久保留

4.4 实操示例

adb shell setprop persist.debug.app 1

五、HarmonyOS/OpenHarmony鸿蒙系统

适配场景:移动设备、IoT设备、车机系统,配套工具:HDC

核心逻辑:与Android同源,操作方式高度相似

5.1 临时变量(当前Shell会话)

hdc shell

export 变量名=值

失效规则:退出Shell、重启设备失效

5.2 用户级永久配置(普通开发者权限)

hdc shell

vi ~/.bash_profile(写入export 变量名=值)

source ~/.bash_profile

5.3 系统级全局配置(需Root/高权限)

hdc shell

sudo vi /etc/profile

source /etc/profile

5.4 系统持久属性(调试常用)

hdc shell setprop persist.hos.变量名 值

特性:即时生效,重启设备不丢失

5.5 底层固件级配置

配置文件:/etc/init/hos_system.prop、/init.rc

生效方式:修改后重启设备(需固件修改/刷机权限)

六、iOS/iPadOS系统

适配版本:7~最新版,闭源移动系统

6.1 官方开发调试(无越狱唯一正规方式)

操作路径:Xcode → Scheme → Edit Scheme → Arguments → Environment Variables

生效方式:重启App,仅当前工程生效

6.2 越狱设备配置(类macOS操作)

临时变量:export 变量名=值

永久配置:

vi ~/.zshrc

source ~/.zshrc

七、BSD家族系统

适配版本:FreeBSD、NetBSD、OpenBSD(类Unix服务器系统)

默认Shell:sh / tcsh

路径分隔符::

7.1 通用Shellsh/bash/zsh

临时变量:export 变量名=值

用户级永久配置:

vi ~/.profile

source ~/.profile

备选配置文件:~/.shrc

系统级全局配置(管理员):

sudo vi /etc/profile

sudo source /etc/profile

备选全局文件:/etc/environment

7.2 特殊Shelltcsh

变量设置:setenv 变量名 值

永久生效:source ~/.tcshrc

八、Solaris商用Unix系统

适配场景:大型机、服务器(历史+现代版本)

默认Shell:ksh(主流)、bash

路径分隔符::

8.1 ksh默认配置

vi ~/.profile

source ~/.profile

8.2 bash配置

vi ~/.bashrc

source ~/.bashrc

8.3 系统级全局配置

vi /etc/profile

vi /etc/default/init

source /etc/profile

8.4 临时变量

export 变量名=值

九、ChromeOS轻量系统

核心特性:Linux内核,需开启开发者模式,终端入口:crosh → shell

9.1 临时变量(当前会话)

crosh

shell

export 变量名=值

9.2 用户级永久配置

vi ~/.bashrc

source ~/.bashrc

9.3 系统级全局配置(需Root

sudo vi /etc/profile

sudo source /etc/profile

十、嵌入式/固件/实时系统

10.1 U-Boot通用嵌入式引导程序

临时环境变量(重启丢失):setenv bootargs console=ttyS0,115200

永久保存(写入Flash):saveenv

查看全部变量:printenv

10.2 RTOS实时系统(FreeRTOS/RT-Thread/Zephyr

无传统环境变量机制,配置方式:Kconfig、menuconfig、代码编译宏、启动脚本

生效方式:重新编译程序 + 烧录固件

十一、全系统核心参数对照表

操作系统

临时变量命令

用户级核心配置文件

系统级核心配置文件

即时生效命令

路径分隔符

Windows

set 变量名=值(CMD)$env:变量名="值"(PowerShell)

注册表(setx)

注册表(管理员)

新开终端 / refreshenv

;

Linux

export 变量名=值

~/.bashrc / ~/.bash_profile

/etc/profile / /etc/environment

source 文件名

:

macOS

export 变量名=值

~/.zshrc / ~/.bash_profile

/etc/profile

source 文件名 / launchctl setenv

:

Android

export 变量名=值

/etc/profile / /init.rc

source / setprop persist.xxx

:

鸿蒙

export 变量名=值

~/.bash_profile

/etc/profile / /init.rc

source / setprop persist.xxx

:

BSD系列

export 变量名=value(sh)setenv 变量名 值(tcsh)

~/.profile / ~/.shrc

/etc/profile

source 文件名

:

Solaris

export 变量名=值

~/.profile / ~/.bashrc

/etc/profile / /etc/default/init

source 文件名

:

ChromeOS

export 变量名=值

~/.bashrc

/etc/profile

source 文件名

:

iOS(越狱)

export 变量名=值

~/.zshrc

source 文件名

:

十二、通用核心规则&速记口诀

12.1 通用核心规则

1. 所有系统临时变量:仅当前终端/会话有效,退出终端、重启设备后自动清空;

2. 类Unix体系(Linux/macOS/BSD/Solaris/ChromeOS):修改配置文件后,执行source 文件名即可即时生效;

3. 移动系统(Android/鸿蒙):常规调试用setprop persist.xxx持久化,深度自定义需Root权限+source配置文件;

4. 闭源iOS:官方开发依赖Xcode配置,修改后重启App;越狱设备操作逻辑同macOS;

5. Windows系统:永久变量修改后必须新开终端加载,PowerShell支持refreshenv快速刷新;

6. 嵌入式U-Boot:临时变量setenv,永久保存必须执行saveenv;RTOS系统配置需重新编译烧录生效。

12.2 精简速记口诀

Windows改完重开端,PowerShell用刷新;

类Unix改完就source,一行命令秒生效;

安卓鸿蒙分两种,export临时prop持久;

iOS官方重启App,越狱玩法同苹果;

嵌入式U-Boot要存盘,RTOS必须重编译。

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐