信息发布→ 登录 注册 退出

sublime如何为Shell脚本(.sh)添加语法高亮和运行支持? (配置)

发布时间:2025-12-16

点击量:
Sublime Text 为 .sh 文件启用 Shell 脚本语法高亮和一键运行需两步:一是通过 Preferences → Settings – Syntax Specific 设置 syntax 为 Shell-Unix-Generic;二是新建 ShellScript.sublime-build 构建系统并选择它,即可用 Ctrl-B/Cmd-B 运行脚本。

sublime如何为shell脚本(.sh)添加语法高亮和运行支持? (配置)

Sublime Text 默认不为 .sh 文件启用 Shell 脚本语法高亮和一键运行支持,但配置起来很简单,只需两步:设置正确语法、添加构建系统。

设置 Shell 脚本语法高亮

打开任意 .sh 文件 → 点击右下角当前语法名称(如 “Plain Text”)→ 在弹出菜单中选择 ShellScript。 之后可点击 “Set Syntax: ShellScript” 使其永久生效(对当前文件类型)。 更彻底的做法是: - 打开 Preferences → Settings – Syntax Specific - 在右侧配置面板中添加:

{ "syntax": "Packages/ShellScript/Shell-Unix-Generic.sublime-syntax" }

保存后,所有 .sh 文件会自动使用 Shell 语法高亮。

添加 Shell 脚本运行支持(构建系统)

Sublime 通过“构建系统”实现快捷运行。新建一个构建系统:

Inworld.ai Inworld.ai

InWorldAI是一个AI角色开发平台,开发者可以创建具有自然语言、上下文意识和多模态的AI角色,并可以继承到游戏和实时媒体中

Inworld.ai 178 查看详情 Inworld.ai
  • 菜单栏选择 Tools → Build System → New Build System…
  • 替换默认内容为以下配置(兼容 macOS/Linux):
{ "shell_cmd": "bash "$file"", "file_regex": "^([^:]+):([0-9]+):?([0-9]+)?:? (.*)$", "working_dir": "$file_path", "selector": "source.shell", "variants": [ { "name": "Run in Terminal", "shell_cmd": "osascript -e 'tell app "Terminal" to do script "cd \"$file_path\"; bash \"$file_name\""'" } ] }

保存为 ShellScript.sublime-build(路径默认在 Packages/User/ 下)。 然后在 Tools → Build System 中选择刚创建的 ShellScript,按 Ctrl+B(Windows/Linux)或 Cmd+B(macOS)即可运行脚本。

小技巧与注意事项

  • 确保脚本有执行权限:终端中运行 chmod +x your_script.sh
  • 如果想直接看到错误行号,构建系统中的 file_regex 已适配 bash 报错格式
  • macOS 用户选 “Run in Terminal” 变体会新开 Terminal 窗口运行,更适合带交互或需持续输出的脚本
  • Linux 用户可将 shell_cmd 改为 gnome-terminal -- bash -c "cd '$file_path'; bash '$file_name'; exec bash"(适配 GNOME)

基本上就这些。语法高亮靠指定 syntax,运行靠自定义 build,都不需要插件,轻量又可靠。

以上就是sublime如何为Shell脚本(.sh)添加语法高亮和运行支持? (配置)的详细内容,更多请关注其它相关文章!


相关文章: J*a最大堆Heapify方法修复:索引计算与边界条件深度解析  Spyder启动失败:字体文件权限拒绝错误解决方案  163邮箱官方主页登录 直达网易邮箱登录核心页面  Log4j Console Appender性能瓶颈与高并发优化策略  《铁拳8》黑皮辣妹新实机:元气满满的18岁少女!  c++如何使用折叠表达式(Fold Expressions)_c++17可变参数模板新技巧  离线运行Go语言之旅:本地部署与GOPATH配置指南  谷歌google账号怎么注册账号 谷歌账号注册官方流程  单射、满射与双射的关系 一文理清所有逻辑  React Hooks最佳实践:动态组件状态管理的组件化方案  虫虫漫画精品漫画官网_虫虫漫画精品漫画官网进入精品漫画  Google翻译怎么语音输入_Google翻译语音输入功能使用与设置方法  AO3最新入口2025公告_AO3中文官网合集  Golang并发任务中错误如何聚合_Golang goroutine error收集方式  c++如何使用TBB库进行任务并行_c++ Intel线程构建模块  Go语言中JSON数据解码与字段访问指南  电脑屏幕颜色不舒服怎么办_Windows夜间模式与色彩校准教程【护眼技巧】  J*a里如何使用forEach遍历Map_Map遍历方法说明  J*aScript map 方法中处理循环元素为空数组的策略  Golang如何实现微服务鉴权与权限控制_Golang微服务鉴权与权限管理实践  QQ邮箱登录官网首页 腾讯QQ邮箱网页入口  如何让 composer 信任自签名的 HTTPS 证书源?  Golang如何实现容器化日志收集与分析_Golang容器日志收集分析方法  内存疯狂猛猛涨价:主板销量直接腰斩!  Composer中的^和~符号代表什么_精通Composer版本号语义化约束  钉钉视频会议画面卡顿如何解决 钉钉会议画面优化方法  抓大鹅无需下载版 抓大鹅秒玩版入口  Centos/Linux 系统下安装 composer 的完整步骤  WooCommerce 购物车显示所有交叉销售商品教程  Pandas DataFrame 多条件优先级排序与排名  在J*a里如何理解依赖关系的方向_依赖方向在模块结构中的作用  在VS Code中配置和运行Dart程序的完整步骤  UE5.7引擎表现爆炸优化无敌!5090跑4K稳定60FPS  微博网页版首页入口 微博电脑端官网登录链接  Composer如何在生产环境安全地执行composer update  手机CPU怎么影响游戏体验_手机CPU对游戏性能的影响分析  提升屏幕阅读器对“m”时间单位的播报准确性:HTML与CSS组合解决方案  在WordPress中通过REST API访问受BasicAuth保护的站点内容  QQ邮箱网页版快速登录 QQ邮箱邮箱账号官方入口地址  C++ vector二维数组定义_C++ vector of vector用法  AO3最新官网入口公告_2025AO3镜像站实时查询方法  深入理解Google Cloud Datastore查询:祖先路径与数据一致性  知音漫客正版漫画平台_知音漫客官网账号登录  ACG动漫视频网入口 ACG动漫*免费正版观看地址  mcjs网页版在线存档 mcjs云存档登录入口  HuggingFaceEmbeddings中向量嵌入维度调整的限制与理解  Golang如何使用const iota_Go iota常量计数器讲解  基于动态规划的房屋花卉种植最小成本算法详解  漫蛙2漫画入口 漫蛙正版网页漫画直达网址  QQ邮箱官网登录入口 QQ邮箱网页版邮箱快速登录 

在线客服
服务热线

服务热线

4008988990

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!