sublime text在windows下无法原生运行.sh脚本,必须通过wsl或git bash等兼容层实现;推荐git bash方案,需正确配置构建系统路径、语法高亮及build system选择,否则ctrl+b失效。

Sublime Text 在 Windows 下无法原生运行 .sh 脚本,强行配 bash "$file" 会报错或静默失败;必须明确使用 WSL 或 Git Bash 等兼容层,并在构建系统中指定其完整路径,否则 Ctrl+B 一定不工作。
Windows 下必须用 WSL 或 Git Bash,不能依赖系统自带 cmd/powershell
Windows 原生没有 /bin/bash,也没有 POSIX 环境。Sublime 的 shell_cmd 是直接调用系统命令,不是模拟器——写 "shell_cmd": "bash "$file"" 会立刻报 /bin/bash: No such file or directory 或卡住不动。
- 推荐方案:用 WSL(如 Ubuntu)——确认已安装并能从 CMD 运行
wsl bash --version - 备选方案:Git Bash(安装时勾选 “Add to PATH”)——终端里运行
git-bash --version验证 - 绝对不要用
cmd或powershell直接跑.sh文件,语法、路径、shebang 全都不兼容
WSL 构建系统怎么写才不崩路径和权限
WSL 下的路径映射和权限机制和 Linux 一致,但 Sublime 运行在 Windows 层,$file 是 Windows 路径(如 C:workscript.sh),必须转换为 WSL 格式(如 /mnt/c/work/script.sh),否则 bash 找不到文件。
PyCharm 2026.2.0.1 Windows版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合在Windows系统上进行 Python 项目开发、运行、调试和测试。
- 用
wsl -e bash -c "cd /mnt/c/$(echo $file | sed 's/://c/g;s/\\///g') && bash $(basename $file)"太复杂且易错,不推荐 - 更稳做法:把项目放在 WSL 文件系统内(如
/home/user/project/),用 VS Code Remote 或 WSL 终端编辑,Sublime 只作 Windows 端轻量编辑 - 如果坚持用 Sublime + WSL:构建系统里显式写 WSL 路径,例如
"shell_cmd": "wsl -e bash -c "cd /mnt/c/Users/Name/project && bash script.sh"",但需硬编码路径,不可移植 - 权限问题照旧存在:
Permission denied仍需chmod +x,WSL 不绕过 Unix 权限检查
Git Bash 构建系统配置要点
Git Bash 提供了较完整的 Bash 环境,且能直接读取 Windows 路径(自动转换),是 Sublime 在 Windows 下运行 .sh 最可行的方案。
- 先确认 Git Bash 安装路径,常见为
C:Program FilesGitinash.exe或C:UsersNameGitusrinash.exe - 构建系统写成:
"shell_cmd": "C:\Program Files\Git\bin\bash.exe -c "cd '$file_path' && '$file'""(注意双反斜杠转义) - 必须加
-c和引号包裹,否则空格路径崩溃;'$file_path'和'$file'是 Git Bash 能识别的 Windows 路径格式 - 脚本首行
#!/usr/bin/env bash会被忽略,Git Bash 只认构建系统里指定的解释器,不解析 shebang - 语法高亮仍需装 Bash 插件并设为
Bash,否则[[ ]]、数组等不着色,容易误判
为什么 Windows 下 Ctrl+B 依然没反应?三个必查点
即使构建系统写对了,90% 的“没反应”问题出在基础绑定环节,和解释器路径无关。
- 右下角状态栏必须显示
Bash(不是ShellScript或Plain Text)——靠 Package Control 装 Bash 插件 + 手动设置 +View → Syntax → Open all with current extension as… → Bash - 文件必须已保存(
Ctrl+S),未保存的缓冲区里$file为空字符串,构建命令变成bash "",直接失败 - Tools → Build System 必须手动选中你刚建的构建项(如
GitBash),不能是Automatic或None;Ctrl+Shift+P输入Build: Select Build System再确认一次
最常被忽略的是:Windows 下 Sublime 启动时不会加载你的 ~/.bashrc 或 PATH,所以构建系统里调用的任何自定义命令(比如 jq、yq)都得写绝对路径,或者在 shell_cmd 开头显式 source /c/Users/Name/.bashrc &&。










