讲师中心 微信公众号
AI工具推荐 视频效率加速

Sublime如何配置Bash脚本高亮与运行?(Linux开发支持)

阿涛同学_1734

阿涛同学_1734

发布时间:2026-02-19 14:28:03

|

789人浏览过

|

来源于php中文网

原创

Sublime默认将.sh文件识别为POSIX Shell而非Bash,需手动设为Bash语法并配置专用build system:用Package Control安装ShellScript包,通过“Open all with current extension as...”永久绑定.sh到Bash;新建Bash.sublime-build文件,使用"bash \"${file}\""确保Bash解释器执行,避免sh兼容性问题。

sublime如何配置bash脚本高亮与运行?(linux开发支持)

如何让Sublime正确识别.sh文件为Bash语法

默认情况下,Sublime可能把 .sh 文件当成“Shell Script”(POSIX sh),而非 Bash——这意味着 [[ ]]、$(())、数组语法等 Bash 特有结构不会高亮,甚至会报错提示“unexpected token”。

  • 打开任意 .sh 文件 → 点击右下角当前语法名称(如 “Shell-Unix-Generic”)→ 选择 Bash
  • 若列表里没有 Bash,说明没装对应插件:用 Package Control 安装 ShellScript 包(它自带 Bash 语法定义,比系统自带的 Shell Script 更准确)
  • 永久绑定:打开该文件 → View → Syntax → Open all with current extension as... → Bash,这样以后所有 .sh 都自动用 Bash 高亮

在Sublime里直接运行Bash脚本的三种方式

Sublime 本身不带终端,所谓“运行”其实是调用系统 shell 执行,关键在配置 build system。别用网上抄来的通用 “Shell” build,它常忽略 shebang 和权限问题。

  • 最稳妥方式:新建 Tools → Build System → New Build System,填入以下内容并保存为 Bash.sublime-build:
{
  "shell_cmd": "bash \"${file}\"",
  "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
  "selector": "source.shell.bash",
  "variants": [
    {
      "name": "Run in Terminal",
      "shell_cmd": "xterm -e bash -c 'bash \"${file}\"; read -p \"Press enter to continue...\"'"
    }
  ]
}
  • shell_cmd 直接调用 bash 而非 sh,确保 Bash 语法被解释
  • 如果脚本有 #!/usr/bin/env bash 且已 chmod +x,也可用 "shell_cmd": "\"${file}\"",但依赖执行权限,调试时容易卡住
  • 别用 sh -c 替代 bash -c:遇到 declare -A 或 mapfile 就直接报错

常见错误:运行后输出一闪而过或报 “/bin/sh: 1: xxx: not found”

这不是 Sublime 的问题,而是 build system 混淆了 shell 解释器和环境上下文。

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载
  • 错误现象:/bin/sh: 1: [[ : not found → 系统 /bin/sh 是 dash(Ubuntu/Debian 默认),不支持 [[;Sublime 的 build 默认走 /bin/sh,哪怕你选了 Bash 语法
  • 根本原因:build system 没显式指定解释器,或用了 sh -c 启动
  • 验证方法:在 build 中加一句 echo $0; echo $SHELL,看实际跑的是哪个 shell
  • 修复动作:严格使用 bash \"${file}\" 形式,不要省略 bash;避免在脚本里写 #!/bin/sh 却用 Bash 特性

为什么不用 Sublime 的 Terminal 插件?

像 Terminus 这类插件确实能开内嵌终端,但它和 build system 是两套逻辑:前者是交互式 shell,后者是单次执行。对 Bash 脚本开发来说,后者更可控。

  • Terminal 插件无法捕获 exit 1 并跳转到出错行,build system 可以(靠 file_regex)
  • Terminal 里 source ./lib.sh 可能因路径或 cwd 不一致失败;build system 的 ${file} 总是绝对路径,更可靠
  • 如果你真需要交互调试,建议另开一个终端窗口,cd 到脚本目录手动运行 —— Sublime 的定位是编辑器,不是 IDE

真正麻烦的从来不是配高亮或建 build 文件,而是脚本里混用了 Bash 和 POSIX 语法,又没写清楚 shebang。配完之后,先用 bash -n script.sh 检查语法,再让 Sublime 运行。

热门AI工具

更多
二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

小橡皮AI

一款AI工具,主要用于小橡皮一键去AI味,将机器味重的内容改得更有活人感,防止因为 AI 内容被平台打上 AI 标签,以及限流,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

相关专题

更多
登录token无效
登录token无效

登录token无效解决方法:1、检查token的有效期限,如果token已经过期,需要重新获取一个新的token;2、检查token的签名,如果签名不正确,需要重新获取一个新的token;3、检查密钥的正确性,如果密钥不正确,需要重新获取一个新的token;4、使用HTTPS协议传输token,建议使用HTTPS协议进行传输 ;5、使用双因素认证,双因素认证可以提高账户的安全性。

14406

2023.09.14

登录token无效怎么办
登录token无效怎么办

登录token无效的解决办法有检查Token是否过期、检查Token是否正确、检查Token是否被篡改、检查Token是否与用户匹配、清除缓存或Cookie、检查网络连接和服务器状态、重新登录或请求新的Token、联系技术支持或开发人员等。本专题为大家提供token相关的文章、下载、课程内容,供大家免费下载体验。

1705

2023.09.14

token怎么获取
token怎么获取

获取token值的方法:1、小程序调用“wx.login()”获取 临时登录凭证code,并回传到开发者服务器;2、开发者服务器以code换取,用户唯一标识openid和会话密钥“session_key”。想了解更详细的内容,可以阅读本专题下面的文章。

3997

2023.12.21

token什么意思
token什么意思

token是一种用于表示用户权限、记录交易信息、支付虚拟货币的数字货币。可以用来在特定的网络上进行交易,用来购买或出售特定的虚拟货币,也可以用来支付特定的服务费用。想了解更多token什么意思的相关内容可以访问本专题下面的文章。

6161

2024.03.01

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

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

8999

2023.11.02

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

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

291

2026.04.13

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

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

4290

2023.06.21

如何安装LINUX
如何安装LINUX

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

3613

2023.06.29

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

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

40

2026.10.28

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn