# Shell 脚本

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com/zh-cn/help/idea/llms.txt).

IntelliJ IDEA 提供对 shell 脚本文件的编码支持： [代码补全](auto-completing-code.html)（包括本地路径）、高亮显示、 [快速文档](viewing-reference-information.html#inline-quick-documentation)、文本重命名重构等功能。

[Video](https://resources.jetbrains.com/help/img/idea/2026.3/调试配置](run-debug-configuration-shell-script.html)类型。

IntelliJ IDEA 集成了多个外部工具以增强 shell 脚本支持：

* [ShellCheck](https://github.com/koalaman/shellcheck) 是一个 Shell 脚本静态分析工具，可以检测语法错误、语义问题、极端情况和典型陷阱。 IntelliJ IDEA 如果不可用，将提示您安装。 可以在 `设置 | 编辑器 | 检查 | shell 脚本` 配置 ShellCheck 检查。

* [Shfmt](https://github.com/mvdan/sh) 是一个用于 shell 脚本的外部格式化器引擎。 IntelliJ IDEA 会建议您在第一次 [重新格式化 shell 脚本代码](reformat-and-rearrange-code.html) `Ctrl+Alt+L` (Windows), `⌘ ⌥ L` (macOS), `⌘ ⌥ L` (IntelliJ IDEA Classic (macOS)), `⌘ ⌥ L` (macOS System Shortcuts), `Ctrl+Alt+L` (XWin), `Ctrl+Alt+L` (GNOME), `Alt+Shift+L` (KDE), `Ctrl+Alt+L` (Emacs), `Ctrl+Alt+L` (Sublime Text), `⌘ ⌥ L` (Sublime Text (macOS)), `Ctrl+Alt+Enter` (Visual Studio), `⌘ ⌥ ⏎` (Visual Studio (macOS)), `Alt+Shift+F` (NetBeans), `Ctrl+Alt+L` (Eclipse), `⌘ ⇧ F` (Eclipse (macOS)) 时安装它。 可以在 `设置 | 编辑器 | 代码样式 | shell 脚本` 手动添加格式化程序。

* [Explainshell](https://explainshell.com/) 是一个可以解析任何 shell 命令并为每个参数提供帮助文本的网站。 通过 [意图操作](intention-actions.html)可以访问：按 `Alt+Enter` (Windows), `⌥ ⏎` (macOS), `⌥ ⏎` (IntelliJ IDEA Classic (macOS)), `⌥ ⏎` (macOS System Shortcuts), `Alt+Enter` (XWin), `Alt+Enter` (GNOME), `Alt+Enter` (KDE), `Alt+Enter` (Emacs), `Alt+Enter` (Sublime Text), `⌥ ⏎` (Sublime Text (macOS)), `Alt+Enter` (Visual Studio), `⌥ ⏎` (Visual Studio (macOS)), `Alt+Enter` (NetBeans), `Ctrl+1` (Eclipse), `⌘ 1` (Eclipse (macOS))并选择 解释 shell 。 [Explainshell](https://explainshell.com/) 网站会打开，并显示所选命令的描述。

Procedure: 启用 Shell 脚本插件

此功能性依赖于 [Shell 脚本](https://plugins.jetbrains.com/plugin/13122-shell-script)插件，该插件在 IntelliJ IDEA 中默认捆绑并启用。 如果相关功能不可用，请确保您没有禁用插件。

1. 按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开设置，然后选择  `插件` 。

2. 找到  Shell 脚本  插件并点击   启用  。

Procedure: 配置文件类型以识别为 Shell 脚本

默认情况下，IntelliJ IDEA 会将以下扩展名的文件识别为 shell 脚本：  `.sh` 、  `.bash` 、  `.zsh` 。 但是，您可以配置 IntelliJ IDEA 以将任何文件类型识别为 shell 脚本文件（例如，如果您想编辑  `.csh`  文件）。

1. 在   设置  对话框（ `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS))）中，选择   编辑器 | 文件类型  。

2. 在   识别的文件类型  列表中，选择   Shell 脚本  并在下面的   文件名模式  列表中添加必要的模式。

3. 点击   OK   以应用更改。

Procedure: 运行 shell 脚本文件

* 处理 shell 脚本文件时，点击 ![运行图标](https://resources.jetbrains.com/help/img/idea/2026.3/app-client.expui.run.run.svg) 处的沟槽。 这将在内置 [终端](terminal-emulator.html)中运行您的脚本。

如果您想自定义脚本的启动（例如，指定脚本和解释器选项），您还可以创建一个   Shell 脚本   [运行/调试配置](#shell-scripts-configurations)。

> **Note:**
> 如果您从侧边图标运行脚本并且未在脚本中指定 shebang，IntelliJ IDEA 将使用由  `SHELL` 环境变量定义的默认系统解释器。 如果您为脚本文件创建一个   Shell 脚本  运行/调试配置，IntelliJ IDEA 将使用该配置的   解释器路径  字段中指定的解释器。

Procedure: 为脚本文件创建配置

1. 在主菜单中，前往  `运行 | 编辑配置` 。

2. 点击 !["添加"按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.add.svg) 并选择   Shell 脚本  。

3. 在   执行   下，选择   脚本文件   选项。

4. 请指定脚本文件的路径和启动脚本时要传递的选项。 您还可以更改解释器来运行脚本和解释器的附加选项。

5. 点击   OK   以保存运行/调试配置。

Procedure: 为 Shell 命令创建配置

您可以为简单的任意命令创建一个   Shell 脚本  运行/调试配置，而无需创建脚本文件。 这可能会很有用，例如，如果您希望在另一个配置启动之前自动运行此命令，并且不想为此创建单独的文件。

1. 在主菜单中，前往  `运行 | 编辑配置` 。

2. 点击 !["添加"按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.add.svg) 并选择   Shell 脚本  。

3. 在   执行   下，选择   脚本文本   选项。

4. 请输入命令文本，并可以选择更改命令的工作目录。

5. 点击   OK   以保存运行/调试配置。

![Shell 脚本 运行/调试配置](https://resources.jetbrains.com/help/img/idea/2026.3/shell_script_configuration_for_command.png)

如果您希望在启动另一个配置（例如，另一个脚本）之前运行此命令，可以在另一个配置的 [启动前](null)区域中选择创建的配置。

