VS Code无需插件即可运行Shell脚本,关键在于文件后缀、解释器声明(如#!/bin/bash)和执行权限(chmod +x)三者对齐,并在内置终端中用./script.sh执行;调试推荐bash -x追踪模式。

VS Code 里写 Shell 脚本,不需要插件也能跑起来
VS Code 本身不内置 Shell 调试器,但靠终端 + 正确的文件配置,sh、bash、zsh 脚本都能直接运行,无需额外安装调试插件。关键不是“能不能”,而是「文件后缀、解释器声明、执行权限」这三点是否对齐。
确保 .sh 文件被识别为 Shell,并有语法高亮
VS Code 默认根据文件后缀判断语言模式。如果打开 deploy.sh 后没有高亮或智能提示,说明语言模式没匹配上:
- 点击右下角显示的语言标签(比如 “Plain Text”),选 “Shell Script”
- 或按
Ctrl+K Ctrl+M(Windows/Linux) /Cmd+K Cmd+M(macOS),输入shellscript回车 - 永久生效:在
settings.json中加"files.associations": {"*.sh": "shellscript"}
运行前必须检查三件事:#!/bin/bash、chmod +x、终端路径
缺一不可。常见错误:脚本里写了 echo "hello",却双击运行或点右键“Run Code”,结果报错 Permission denied 或 command not found。
-
#!/bin/bash(或#!/usr/bin/env bash)必须是第一行,且不能前面有空格或 BOM - 保存后,在终端中执行
chmod +x script.sh—— VS Code 不会自动帮你加执行权限 - 在 VS Code 内置终端中运行时,确保当前路径正确:
./script.sh(不能只写script.sh)
想单步调试?用 bash -x 替代图形化断点
VS Code 官方 Shell 调试支持有限(需 bashdb,macOS 上难装,Linux 需手动编译)。更可靠的做法是利用 Bash 自带的追踪模式:
这本书假定你没有任何关于脚本或一般程序的编程知识, 但是如果你具备相关的知识, 那么你将很容易就能够达到中高级的水平. . . 所有这些只是UNIX®浩瀚知识的一小部分. 你可以把本书作为教材, 自学手册, 或者是关于shell脚本技术的文档. 书中的练习和样例脚本中的注释将会与读者进行更好的互动, 但是最关键的前提是: 想真正学习脚本编程的唯一途径就是亲自动手编写脚本. 这本书也可作为教材来讲解一般的编程概念. 向伟大的中华民族的Linux用户致意! 我希望这本书能够帮助你们学习和理解L
bash -x ./deploy.sh
它会逐行打印实际执行的命令(含变量展开),效果接近单步。配合以下技巧提升可读性:
- 在脚本里加
set -u(访问未定义变量时报错)、set -e(任一命令失败即退出) - 用
echo "DEBUG: var=$PATH"手动打点,比依赖 IDE 更稳定 - 避免在生产脚本里长期开
-x,输出太冗长,也暴露敏感信息
真正容易被忽略的是:VS Code 的“集成终端”默认复用 shell 环境,但如果你在脚本里用了 source ~/.zshrc 或依赖某个 alias,而终端启动方式是 login shell 还是 non-login shell,会导致行为不一致——这时别猜,直接在终端里运行 ps -p $$ 看当前 shell 类型,再对应调整。









