用途:这是一套 Windows PowerShell 脚本编写规则,帮助在 Windows 环境下正确执行 shell 命令、Docker 操作和 HTTP 请求,规避 PowerShell 与类 Unix shell 的语义差异。
主要能力与要点: 命令分隔:Windows PowerShell 5.1 不支持 &&,PowerShell 7 支持。独立命令用 ;,例如 Set-Location "path"; Get-ChildItem。依赖前一条结果的命令需显式保留短路语义,例如 git add . 后用 if ($LASTEXITCODE -eq 0) { git commit -m "message" }。 路径引号:含空格的路径始终用双引号,例如 cd "D:\My Projects\MyApp"。 脚本执行:.bat/.cmd 文件可用 ./gradlew clean build 或 .\gradlew.bat clean build。 Docker:指定 docker-compose 文件完整路径,例如 docker-compose -f "D:\My Projects\app\docker-compose.yml" up -d;停止用 down,构建用 build --no-cache。 HTTP 请求:优先使用 PowerShell 原生方式,避免 curl 别名与 curl.exe 解析差异,例如 Invoke-WebRequest -Uri "http://localhost:9090/status" -UseBasicParsing。 延时:不要用 timeout 10,应使用 Start-Sleep -Seconds 10。 JSON 处理:用 ConvertFrom-Json 解析响应内容,再用 ConvertTo-Json -Depth 3 输出。 进程检查:Get-Process -Name "java" -ErrorAction SilentlyContinue。 错误处理:用 -ErrorAction SilentlyContinue 忽略错误。
常见错误与修复:&& 无法识别(5.1 环境)改用 ; 与 $LASTEXITCODE;curl 行为异常改用 Invoke-WebRequest 或显式 curl.exe;timeout 行为异常改用 Start-Sleep;路径未找到需为含空格路径加双引号。
适用场景:在 Windows 上编写或调试 PowerShell 脚本、CI 步骤、Docker 编排与本地服务健康检查。
限制:资料未提供安装方式、版本要求细节、收费信息及更多平台支持说明。