Sublime Text如何配置Shell脚本开发_Sublime Shell脚本开发配置攻略

星明酱_1875

星明酱_1875

2026-04-12

518人浏览

原创

必须将.sh文件语法设为bash而非shellscript:先用package control安装bash插件(wbond版),重启后手动选bash,再通过view→syntax→open all with current extension as…绑定.sh到bash;构建需新建bash.sublime-build,内容含"shell_cmd": "bash -x \"$file\"",并确保selector为"source.shell",且保存文件后再ctrl+b执行。

sublime text如何配置shell脚本开发_sublime shell脚本开发配置攻略

Sublime Text 默认不把 .sh 文件当 Shell 脚本处理,高亮、构建、缩进全会出问题——这不是你写错了,是它根本没认对语法类型。

怎么让 .sh 文件正确高亮?

右下角状态栏显示 “Plain Text” 或 “Shell Script” 都不对,得是 “Bash” 才行。Sublime 自带的 Shell Script 语法只认 POSIX,[[ ]]、${arr[@]}、$(()) 这些全不着色,容易误判错误。

  • 用 Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(macOS)调出命令面板,输入 Package Control: Install Package,装 Bash 插件(作者 wbond,不是 Bash-IDE)
  • 重启 Sublime,打开任意 .sh 文件,右下角点语言名 → 选 Bash
  • 之后点 View → Syntax → Open all with current extension as… → Bash,这样所有 .sh 文件就默认走 Bash 语法了
  • 别信 shebang:Sublime 不解析 #!/usr/bin/env bash,只看后缀和手动设置

Ctrl+B 没反应或报 No build system?

不是脚本有问题,是 Sublime 根本没绑定构建规则。它不会自动为 .sh 文件启用 Build System,哪怕你写了完美 shebang。

NeoAgent
NeoAgent

一款AI办公效率工具,主要用于销售易推出的AI‑CRM智能体平台,适合需要提升相关任务效率的用户。

下载
  • 菜单栏 → Tools → Build System → New Build System…
  • 粘贴以下内容并保存为 Bash.sublime-build(路径自动落在 Packages/User/):
{
  "shell_cmd": "bash -x \"$file\"",
  "file_regex": "^([^:]+):([0-9]+):?([0-9]+)?:? (.*)$",
  "working_dir": "$file_path",
  "selector": "source.shell"
}
  • "selector": "source.shell" 必须匹配当前文件语法(装完 Bash 插件后,实际作用域仍是 source.shell,不是 source.bash)
  • 保存后,按 Ctrl+Shift+P 输入 Build: Select Build System,选中你刚建的 Bash
  • 务必先 Ctrl+S 保存文件——未保存的临时缓冲区,$file 变量为空,构建直接失败

运行报 Permission denied 怎么办?

这不是 Sublime 的 bug,是 Unix 权限机制在起作用。构建系统本质就是调 system() 执行命令,绕不过 x 位检查。

  • 终端里跑 ls -l script.sh,确认权限含 x(如 -rwxr-xr-x)
  • 快速修复:chmod +x script.sh
  • 或者更稳妥:改构建命令为 bash \"$file\"(不带 ./ 前缀),这样完全绕过执行权限,只依赖解释器读取权限
  • 别指望 #!/bin/bash 自动生效——Sublime 构建系统不读 shebang,它只按你 shell_cmd 里写的执行

输出一闪而过、看不到错误?

Sublime 构建面板默认不驻留,脚本一结束窗口就收起。尤其 exit 1 或语法错时,只闪一下,连哪行错都不知道。

  • 关键加 -x:上面构建配置里的 bash -x \"$file\" 会让每条命令执行前先打印出来,相当于自动加了 set -x
  • 如果脚本末尾没 read 或 sleep,加一行 read -rp "Press enter to continue..." 临时停住
  • 重定向到文件更可靠:shell_cmd 改成 bash -x \"$file\" > /tmp/shell-log 2>&1,再手动查 /tmp/shell-log
  • 中文注释乱码?检查文件编码:菜单 File → Reopen with Encoding → UTF-8,别用 GBK

最容易被忽略的是:语法高亮和构建系统是两套独立机制,装了 Bash 插件 ≠ 能 Ctrl+B;配了 Build System ≠ 高亮正常。必须分别确认右下角显示 “Bash” 且构建系统已手动选中,缺一不可。

相关文章

热门游戏推荐
热门游戏推荐

海量精品小游戏合集,无需安装即点即玩,休闲益智、动作闯关应有尽有,秒开即玩,轻松解压,快乐停不下来

下载

相关标签:

sublime shell脚本

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

相关专题

更多
java break和continue
java break和continue

本专题整合了java break和continue的区别相关内容,阅读专题下面的文章了解更多详细内容。

2025.10.24

687

6

macOS怎么切换用户账户
macOS怎么切换用户账户

在 macOS 系统中,可通过多种方式切换用户账户。如点击苹果图标选择 “系统偏好设置”,打开 “用户与群组” 进行切换;或启用快速用户切换功能,通过菜单栏或控制中心的账户名称切换;还能使用快捷键 “Control+Command+Q” 锁定屏幕后切换。

2025.05.09

3864

14

c语言编程软件有哪些
c语言编程软件有哪些

c语言编程软件有GCC、Clang、Microsoft Visual Studio、Eclipse、NetBeans、Dev-C++、Code::Blocks、KDevelop、Sublime Text和Atom。更多关于c语言编程软件的问题详情请看本专题的文章。php中文网欢迎大家前来学习。

2023.11.02

7279

18

Sublime Text全方位使用指南
Sublime Text全方位使用指南

本专题深入剖析Sublime Text的环境配置与脚本开发机制,涵盖从 v3 升级 v4 实践、Shell 与 YAML 语法支持、Console 控制台调试到 Conda 多环境切换等核心操作,并详细讲解 Python 插件编写及构建系统(Build Systems)定制,旨在帮助开发者通过深度定制与脚本驱动,实现自动化代码格式化及跨语言高效开发。

2026.04.13

251

22

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3750

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3233

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2333

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5590

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5262

7

热门下载

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

精品课程

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