
日常使用WSL做开发时经常需要对接Windows本地网络服务方便下载开源软件、获取开发者资源等。每次手动配置相关环境变量切换比较麻烦还容易输错。这里分享一个带命令行参数的WSL网络环境控制脚本可以一键开启/关闭、自定义端口适配Windows本地的网络服务简化配置操作。一、核心功能支持start开启、stop关闭、help帮助3类命令操作简单默认端口7897支持自定义端口如7890适配不同本地服务彩色提示信息成功、错误、提示信息区分清楚方便排查问题只在当前终端会话生效不会修改全局环境减少误配置风险二、完整脚本直接复制脚本命名为proxyctl.shctlcontrol方便记忆内容如下#!/bin/bash# WSL HTTP/HTTPS网络环境一键控制脚本# 用法./proxyctl.sh [start/stop/help] [可选端口]DEFAULT_PORT7897# 默认端口可根据自身本地服务修改# 开启网络环境支持自定义端口enable_proxy(){localport$1localproxy_addr[http://127.0.0.1](http://127.0.0.1):$portexportHTTP_PROXY$proxy_addrexportHTTPS_PROXY$proxy_addrecho-e\033[32m✅ 网络环境已开启\033[0mecho-e\033[36m 地址$proxy_addr\033[0m}# 关闭网络环境disable_proxy(){unsetHTTP_PROXYunsetHTTPS_PROXYecho-e\033[32m✅ 网络环境已关闭\033[0m}# 帮助信息show_help(){echo-e\033[34m WSL网络环境控制脚本用法 \033[0mecho-e命令格式./proxyctl.sh [命令] [可选端口]echo-e支持命令echo-e start 开启默认端口$DEFAULT_PORT如./proxyctl.sh start 7890echo-e stop 关闭无参数echo-e help 显示帮助信息无参数}# 主逻辑处理命令行参数case$1instart)if[-n$2];thenif[[$2~^[0-9]$]];thenenable_proxy$2elseecho-e\033[31m❌ 错误端口必须为纯数字\033[0mshow_helpexit1fielseenable_proxy$DEFAULT_PORTfi;;stop)disable_proxy;;help)show_help;;*)echo-e\033[31m❌ 错误无效命令\033[0mshow_helpexit1;;esac三、使用步骤3步上手1. 创建脚本文件在WSL终端执行命令创建空白脚本touchproxyctl.sh2. 写入脚本内容用vim编辑文件粘贴上述完整脚本后保存退出vimproxyctl.sh# 粘贴内容后按Esc→:→wq保存退出### 3. 赋予执行权限仅需1次bashchmodx proxyctl.sh四、快速使用示例# 1. 使用默认端口7897开启./proxyctl.sh start# 2. 使用自定义端口如7890开启./proxyctl.sh start7890# 3. 关闭./proxyctl.sh stop# 4. 查看帮助信息./proxyctl.shhelp五、关键注意事项正常使用前提Windows端对应的本地服务已经启动监听端口和脚本里配置的端口保持一致默认7897生效范围仅当前终端会话有效新开终端需要重新执行脚本开启永久生效可选想要新开终端自动加载配置可以把export HTTP_PROXY[http://127.0.0.1:7897](http://127.0.0.1:7897)和export HTTPS_PROXY[http://127.0.0.1:7897](http://127.0.0.1:7897)添加到~/.bashrc再执行source ~/.bashrc生效端口修改直接修改脚本中DEFAULT_PORT的值就能更换默认端口适配自己的本地服务配置。总结这个脚本省去反复手动设置环境变量的操作通过简单参数快速切换WSL的本地网络配置适配Windows本地网络服务的开发场景。脚本逻辑简单、方便复用配置门槛低适合经常需要调整WSL本地网络环境的开发者提升开发时的网络配置效率。