本文目录导读:

编写添加环境变量的脚本,主要取决于你使用的操作系统,以下是针对 Windows 和 Linux/macOS 的常见写法:
Windows(批处理 .bat 或 PowerShell)
方法A:使用批处理(.bat)—— 仅对当前窗口有效
@echo off set MY_VARIABLE=my_value echo 已设置
方法B:使用批处理(.bat)—— 永久修改(需要管理员权限)
@echo off :: 设置用户环境变量(不需要管理员权限) setx MY_VARIABLE "my_value" :: 设置系统环境变量(需要管理员权限) setx MY_VARIABLE "my_value" /M echo 环境变量已永久设置
方法C:使用 PowerShell(.ps1)
# 仅当前会话
$env:MY_VARIABLE = "my_value"
# 永久设置(用户级别)
[Environment]::SetEnvironmentVariable("MY_VARIABLE", "my_value", "User")
# 永久设置(系统级别,需要管理员权限)
[Environment]::SetEnvironmentVariable("MY_VARIABLE", "my_value", "Machine")
Linux / macOS(Shell 脚本 .sh)
方法A:临时设置(当前终端有效)
#!/bin/bash export MY_VARIABLE="my_value" echo "环境变量已设置"
方法B:永久设置(写入配置文件)
#!/bin/bash # 写入到 .bashrc(用户级别) echo 'export MY_VARIABLE="my_value"' >> ~/.bashrc # 或者写入到 /etc/profile(系统级别,需要sudo) echo 'export MY_VARIABLE="my_value"' >> /etc/profile source ~/.bashrc # 立即生效 echo "环境变量已永久设置"
实用脚本示例:检查重复项(避免重复添加)
Windows 批处理
@echo off
set VAR_NAME=MY_PATH
set VAR_VALUE=C:\MyFolder
:: 检查是否已存在(永久设置)
setx %VAR_NAME% "%VAR_VALUE%" >nul 2>&1
if %errorlevel%==0 (
echo 设置成功:%VAR_NAME%=%VAR_VALUE%
) else (
echo 设置失败,请检查权限
)
Linux/macOS
#!/bin/bash
VAR_NAME="MY_PATH"
VAR_VALUE="/opt/myfolder"
# 检查是否已存在
if grep -q "export $VAR_NAME=" ~/.bashrc; then
echo "变量已存在,跳过添加"
else
echo "export $VAR_NAME=\"$VAR_VALUE\"" >> ~/.bashrc
echo "已添加变量"
fi
source ~/.bashrc
特殊场景:添加到 PATH(最常用)
Windows(批处理)
@echo off set NEW_PATH=C:\MyTool :: 追加到现有PATH(避免覆盖) setx PATH "%PATH%;%NEW_PATH%" echo "已添加到PATH"
Linux/macOS
#!/bin/bash
NEW_PATH="/opt/mytool"
if [[ ":$PATH:" != *":$NEW_PATH:"* ]]; then
echo "export PATH=\"$NEW_PATH:\$PATH\"" >> ~/.bashrc
echo "已添加到PATH"
else
echo "PATH中已存在"
fi
source ~/.bashrc
注意事项
- Windows:使用
setx或 PowerShell 永久修改后,需要 重新打开 终端或重启程序才能完全生效。 - Linux/macOS:修改后执行
source ~/.bashrc或重新登录。 - 权限:修改系统级变量通常需要管理员/root权限。
根据你的具体需求(临时还是永久、用户还是系统级),选择合适的脚本即可。