Sublime Text配置Shell脚本开发环境_Sublime Text在Win下运行SH命令【运维】

轻墨酱_7721

轻墨酱_7721

2026-06-28

399人浏览

原创

Windows下Sublime Text无法直接运行.sh文件,因其不调用Bash且不解析shebang;必须安装Git for Windows并显式配置shell_cmd指向git-bash.exe绝对路径,selector设为source.shell,否则必报bash: command not found。

sublime text配置shell脚本开发环境_sublime text在win下运行sh命令【运维】

Windows 下 Sublime Text 无法直接运行 .sh 文件——它不调用 Bash,也不解析 #!/bin/bash,硬配 shell_cmd 为 bash "$file" 必然失败,报 bash: command not found 或静默无反应。必须用 Git Bash 或 WSL 作为后端解释器,并显式指向其可执行文件。

为什么 Windows 下直接配 bash "$file" 一定失败

Sublime 在 Windows 上默认走 cmd 兼容层,bash 不是系统命令;PATH 里没加 Git Bash 路径时,bash --version 都会报错。网上大量教程写 "shell_cmd": "bash \"$file\"",在 Windows 下纯属无效配置。

  • 先验证环境:打开 CMD 或 PowerShell,运行 git-bash --version 或 bash --version,若提示“不是内部或外部命令”,说明 Git for Windows 没装或没进 PATH
  • 推荐安装 Git for Windows(自带 git-bash.exe),比 WSL 更轻量、路径转换更稳定
  • 若坚持用 WSL,得改构建命令为 wsl -e bash -c "cd /mnt/c/xxx && ./script.sh",且脚本必须放在 C:\ 下,否则 /home/xxx 对 Sublime 不可见

怎么写有效的 Shell.sublime-build 配置

关键不是语法多炫,而是路径、参数、作用域三者对齐。以下是最小可行配置(适配 Git Bash):

{
  "shell_cmd": "C:/Program Files/Git/git-bash.exe --cd=\"$file_path\" -c \"bash '$file_name'\"",
  "working_dir": "$file_path",
  "selector": "source.shell",
  "file_regex": "^([^:]+):([0-9]+):?([0-9]+)?:? (.*)$"
}
  • shell_cmd 必须是 git-bash.exe 的绝对路径,用正斜杠或双反斜杠;含空格路径必须包裹,不能只靠 $file 变量展开
  • --cd 和 -c 是 git-bash.exe 的原生命令行参数,用于切换目录并执行命令,比 cd ... && 更可靠
  • selector 必须写 "source.shell",不是 "source.bash" 或留空——这是 Sublime 自带语法包定义的作用域名,Bash 插件不会改它
  • 保存后,按 Ctrl+Shift+P → 输入 Build: Select Build System,确认你刚建的构建项已出现在列表中

为什么右下角显示 Bash 但 Ctrl+B 还是没反应

显示语言名 ≠ 构建系统能匹配。Sublime 匹配构建系统靠的是语法作用域(scope),不是文件后缀或 shebang。即使你装了 Bash 插件、右下角写了 Bash,如果作用域不是 source.shell,构建仍不会触发。

windows-screenshot-ocr
windows-screenshot-ocr

Windows全屏截图(自动标记鼠标位置)+ 原生OCR文字识别。本地运行,无需联网和API Key,适用于截图分析和自动化OCR场景。

下载
  • 打开任意 .sh 文件,按 Ctrl+Alt+Shift+P(Win/Linux)或 Cmd+Alt+Shift+P(macOS),看状态栏是否显示 source.shell
  • 若显示 source.bash 或 source.shellscript,说明语法包没对齐;手动点右下角 → Shell-Unix-Generic(Sublime 自带,稳定)或 Bash(wbond 插件,高亮强),两者底层作用域都是 source.shell
  • 务必先 Ctrl+S 保存文件——未保存的临时缓冲区里 $file 是空字符串,shell_cmd 执行时会崩
  • 别信 #!/usr/bin/env bash 能自动启用构建:Sublime 完全忽略 shebang

输出一闪而过或看不到错误怎么办

Sublime 构建面板默认不保留终端状态,尤其脚本末尾没 read 或没触发错误时,输出直接消失。这不是配置失败,是行为设计如此。

  • 最简方案:在 shell_cmd 末尾加 && read -p "Press Enter to exit",让终端停留(仅限 Git Bash / WSL)
  • 更稳的日志方案:"shell_cmd": "C:/Program Files/Git/git-bash.exe --cd=\"$file_path\" -c \"bash '$file_name' > /tmp/sublime-run.log 2>&1 && cat /tmp/sublime-run.log\"",再手动查日志
  • 避免用 gnome-terminal 或 cmd /c start 类方案:它们新开窗口,和构建面板脱节,无法捕获 $? 或标准错误流
  • 如果脚本含 read name 等交互逻辑,Sublime 原生构建不支持 stdin 输入,得换 Terminus 插件或回终端手动跑

真正卡住人的地方从来不是 build 文件怎么写,而是 Git Bash 路径没查准、selector 写成 source.bash、或者压根忘了点右下角切语法——这三处一错,整个流程就静默失效,连错误提示都没有。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Tailwind CSS 响应式布局怎么写
Tailwind CSS 响应式布局怎么写

Tailwind CSS 响应式布局通常从移动端样式写起,再用 sm、md、lg 等前缀调整不同屏幕宽度下的网格、间距和导航。本专题整理断点配置、Grid 与 Flex 自适应布局及常见溢出问题,帮助你逐步完成多设备适配。

2026.11.03

0

19

Tailwind CSS 常用类名怎么记
Tailwind CSS 常用类名怎么记

Tailwind CSS 类名很多,先按布局、间距、文字、颜色和状态分组记忆,再通过官方文档检索具体写法。本专题结合类名排序、动态拼接失效、自定义实用类等问题,帮助你建立常用类名的速查方法。

2026.11.03

0

12

码上飞入口地址合集
码上飞入口地址合集

本专题汇总了码上飞(CodeFlying)的官方入口地址合集,涵盖官网主站及网页版在线使用入口,支持注册登录后直接在线体验零代码AI应用生成。同时整理了APP端下载渠道与小程序入口,助你快速访问平台,通过自然语言描述需求即可生成应用、小程序或网站。

2026.11.03

0

10

Uvicorn 报错与问题解决教程
Uvicorn 报错与问题解决教程

本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。

2026.11.02

20

14

Uvicorn使用教程
Uvicorn使用教程

本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。

2026.11.02

20

17

Uvicorn安装配置教程
Uvicorn安装配置教程

本专题汇总了Uvicorn的安装配置教程与部署指南,涵盖通过pip安装Uvicorn、启动FastAPI/Starlette应用、开发模式热重载(--reload)及多进程工作模式配置等核心操作。同时整理了结合Gunicorn的生产部署方案、HTTPS与反向代理配置及性能调优技巧,助你快速完成Uvicorn服务的安装与上线部署。

2026.11.02

20

17

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

120

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

100

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

300

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程