AI 编程工具 Shell 行为分析

📅 2026/7/28 3:07:36
AI 编程工具 Shell 行为分析
AI 编程工具的 Shell 行为分析2026/6/26测试环境Windows 11PowerShell 7.xGit Bash (MSYS2)WSL2 Ubuntu结论速查工具PowerShell 启动Git Bash 启动WSL bash 启动Claude CodeGit BashGit BashWSL bashCodexPowerShellGit BashWSL bashOpenCodePowerShellGit BashWSL bashClaude Code 特殊在 Windows 上永远用 bash不用 PowerShell。详细分析Claude Code (Anthropic)安装方式npm 全局安装实际是编译好的原生claude.exe245MBShell 选择逻辑Windows 上强制使用 bash优先找 Git Bash (C:\Program Files\Git\bin\bash.exe)如果从 WSL 启动用 WSL 的/bin/bash不使用 PowerShell证据~/.claude/shell-snapshots/目录下有 bash snapshot 文件内容是标准 bash 语法unalias、shopt、OSTYPEmsys启动脚本claude.cmd → claude.exe原生二进制Codex (OpenAI)安装方式npm 全局安装Node.js 脚本 Rust 编译的 native bindingShell 选择逻辑检查SHELL环境变量Windows 没有SHELL变量默认用powershell.exeWSL 里SHELL/bin/bash就用 bash启动脚本codex.cmd → node codex.js → openai/codex-win32-x64 (Rust native)配置文件~/.codex/config.tomlOpenCode安装方式Go 编译的 CLI 工具Shell 选择逻辑使用当前终端的 shellPowerShell 启动 → 用 PowerShellWSL bash 启动 → 用 bashGit Bash 启动 → 用 Git Bash启动方式opencode直接执行如何强制使用 WSL Shell在 WSL 终端里启动即可# 方法一进入 WSL 后启动wsl-d Ubuntu cd/mnt/d/files claude# 或 codex / opencode# 方法二一行命令wsl-d Ubuntu-e bash-ccd /mnt/d/files claude这样所有工具都会使用 WSL 的/bin/bash路径用 Linux 风格/mnt/d/files命令通过 WSL 执行路径对照Windows 路径WSL 路径D:\files/mnt/d/filesC:\Users\a1/home/a1 (WSL 主目录)D:\devtools/mnt/d/devtools注意事项Claude Code 不受控制— 它在 Windows 上永远用 bash即使你从 PowerShell 启动Codex 和 OpenCode 跟随父进程 shell— 从哪启动就用什么WSL 里路径要改—D:\files变成/mnt/d/files文件权限不同— WSL 里的文件权限和 Windows 不一样注意 git 操作性能差异— WSL 访问/mnt/cWindows 盘比访问 Linux 原生文件系统慢