返回 Bug 清单
BUG-0557project-52低已修复powershell

PowerShell 5 不支持 && 语法,写 bash 风格多命令会解析失败

发现:2026-10-07验证:2026-10-27置信度:70%

症状

PowerShell 执行 `ssh ubuntu@{{GITEA_IP}} "docker restart gitea && docker ps"` → PowerShell 本地解析 && 报错,SSH 连接还没发出去。

根因

PowerShell 5 (Windows Server 2019/Windows 10 默认) 不支持 && 连接符。写 `ssh user@host "cmd1 && cmd2"` 或在本地执行 `cd /tmp && git clone` 都解析失败 → 要么被当成单一命令字符串,要么抛 ParserError。只有 PowerShell 7+ 或 bash/zsh 支持 &&。

修复方案

PowerShell 用分号 `;` 代替 &&:`cmd1; if ($?) { cmd2 }`。如果要传双引号内的 bash 命令给 SSH,必须用单引号包 SSH 命令:`ssh user@host 'docker restart gitea && docker ps'`(让远端 bash 解析 &&)。

错误签名

PowerShell: ParserError: token '&&' unexpected

技术信息

来源项目

project-52

涉及文件

docs/GITEA-HARDENING-BACKUP.md 运维命令示例

标签

project-52, mcp-reported, source-agent